Проект представляет собой микросервис, который предназначен для создания персонализированных дайджестов для пользователей на основе их подписок на различные источники контента. Дайджест представляет собой выборку наиболее интересных и актуальных постов из этих источников, предназначенную для удобного и быстрого ознакомления с контентом без необходимости посещения каждого источника отдельно.
- python 3.10
- fastapi 0.78.0
- asyncpg 0.27.0
- sqlalchemy 1.4.36
- alembic 1.7.7
- uvicorn 0.17.6
- fastapi-users 10.0.6
- postgres 14.0
- Клонировать репозиторий и перейти в него в командной строке
git clone git@github.com:avnosov3/Paper.git
cd paper/
- Создать .env и заполнить
DB_ENGINE=postgresql+asyncpg
POSTGRES_DB=paper
POSTGRES_USER=<Указать имя пользователя>
POSTGRES_PASSWORD=<Указать пароль пользователя>
DB_HOST=db
DB_PORT=5432
FASTAPI_USERS_SECRET=<Указать секрет>
- Запустить docker compose
docker compose up -d
- Провести миграции
docker compose exec paper poetry run alembic upgrade head
-
Чтобы было удобнее посмотреть способ формирования дайджеста, после запуска нужно дёрнуть ручку, которая заполнит БД
-
Сформировать дайджест
POST запрос на http://127.0.0.1:8000/api/v1/digest/{USER_ID}?likes_limits={УКАЗАТЬ МИНИМАЛЬНОЕ КОЛ-ВО ЛАЙКОВ В ПОСТАХ}
После запуска документация будет доступна в виде