Это учебный проект, начало которому было положено в ШБР Яндекса. Данный проект реализует REST-API для мессенджера.
Пользователь может:
- регистрироваться, получая токен
- создавать и входить в чаты
- писать в чат / получать сообщение с пагинацией
- искать по чатам (задача асинхронная, на запрос поиска пользователь получает id задачи)
- Для реализации api была использована библиотека
aiohttp
. - На данный момент валидация запросов осуществляется с помощью библиотеки
pydantic
. - Взаимодействие с базой данных
PostgreSQL
происходит посредствомSQLAlchemy ORM
. - Асинхронные таски используют библиотеку
asyncio
. - Настроены автотесты (
pytest
) и проверка процента покрытия кода тестами, а также запуск линтера (flake8
) при коммите.
Запуск приложения напрямую:
python src/messenger/api/__main__.py
Установка пакета и запуск:
pip install src/
messenger-api
Запуск тестов:
pytest tests
После запуска тестов можно увидеть подробный отчет о покрытие кода тестами в файле htmlcov/index.html
.