BookLib

Электронная библиотека с ролевым доступом

Веб-приложение на базе FastAPI для управления электронной библиотекой. Поддерживает загрузку книг, работу с полками пользователя, историю чтения и административное управление.

Метрики в реальном времени

Обновлено 2 мин назад
+127
2,847
Books
+12
156
Users
+2.1GB
45GB
Storage
+89
1.2K
Requests

Пример кода

admin_routes.py
Python
1

Архитектура системы

QueryUploadAuthRoles
FastAPI
800 req/s
PostgreSQL
2.8K books
S3
45GB files
RBAC
3 roles

Основные возможности

Пользовательские функции

Полки, история чтения, заявки на добавление книг

Административная панель

Добавление, редактирование и удаление книг

Хранение файлов

Загрузка книг на S3 с управлением доступом

Ролевой доступ

Система ролей через декоратор @role_required

Технологический стек

FastAPI
PostgreSQL
aiobotocore
S3
SQLAlchemy
Pydantic

Функциональность

Пользовательские функции
  • Получение списка всех книг с фильтрацией
  • Работа с персональными полками
  • Добавление книг в историю чтения
  • Подача заявок на добавление новых книг
Административные функции
  • Добавление книг с загрузкой файлов на S3
  • Обновление информации о книгах и авторах
  • Удаление книг и файлов из хранилища
  • Управление заявками пользователей