Сайт для учета прогресса чтения FB2- и EPUB-книг, личной библиотеки и совместного чтения с другими пользователями.
- простая регистрация и вход;
- загрузка книг в формате FB2 и EPUB;
- автоматическое построение оглавления из
body/section/titleдля FB2,nav.xhtml/toc.ncxдля EPUB или структурыspine, если оглавление не найдено; - извлечение названия, автора, описания и обложки книги;
- отметка прочитанных глав и текущей главы;
- массовая отметка всех глав прочитанными или непрочитанными;
- поиск, сортировка и переключение отображения библиотеки;
- управление своими книгами и выход из совместных книг;
- настройки профиля: смена имени пользователя и загрузка аватара;
- приглашение пользователей в совместное чтение;
- принятие и отклонение приглашений;
- общая страница прогресса участников;
- удаление участников из своей книги.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
uvicorn src.main:app --reloadПосле запуска сайт будет доступен на http://127.0.0.1:8000.
База SQLite создается автоматически по пути из READ_TOGETHER_DATABASE_URL.
Переменные окружения можно задать в .env, он подхватывается при старте приложения.
READ_TOGETHER_DATABASE_URL— путь к SQLite, напримерsqlite:///read_together.sqlite3.READ_TOGETHER_SESSION_COOKIE— имя cookie сессии, по умолчаниюsession_token.READ_TOGETHER_SESSION_MAX_AGE— время жизни cookie в секундах, по умолчанию2592000.
python3 -m pytest