Skip to content
/ Paper Public

microservice generates personalized digests for users from subscribed sources.

License

Notifications You must be signed in to change notification settings

avnosov3/Paper

Repository files navigation

Описание проекта

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

Техно-стек

  • 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

Запуск проекта

  1. Клонировать репозиторий и перейти в него в командной строке
git clone git@github.com:avnosov3/Paper.git
cd paper/
  1. Создать .env и заполнить
DB_ENGINE=postgresql+asyncpg
POSTGRES_DB=paper
POSTGRES_USER=<Указать имя пользователя>
POSTGRES_PASSWORD=<Указать пароль пользователя>
DB_HOST=db
DB_PORT=5432
FASTAPI_USERS_SECRET=<Указать секрет>
  1. Запустить docker compose
docker compose up -d
  1. Провести миграции
docker compose exec paper poetry run alembic upgrade head
  1. Чтобы было удобнее посмотреть способ формирования дайджеста, после запуска нужно дёрнуть ручку, которая заполнит БД

  2. Сформировать дайджест

POST запрос на http://127.0.0.1:8000/api/v1/digest/{USER_ID}?likes_limits={УКАЗАТЬ МИНИМАЛЬНОЕ КОЛ-ВО ЛАЙКОВ В ПОСТАХ}

Документация

После запуска документация будет доступна в виде

Доступ к админке postgres

About

microservice generates personalized digests for users from subscribed sources.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published