Фриланс биржа для мастеров ручной работы, которые создают столы, стулья, обувь, одежду, косметику и прочее.
Используемый стэк: на бэкенде Python, FastAPI, PostgreSQL, Redis, Celery, на фронтэнде NextJS. Backend проекта разрабатывается в команде из двух разработчиков.
Основной функционал системы:
- заказчики при публикации выбирают категорию, указывают промежуток стоимости, способ получения и другие требования к своему заказу - мастера находят интересующие их заказы с помощью преднастроенных фильтров в личном кабинете, либо на самой странице заказов - после выбора итогового мастера, заказчик может вести с ним диалог внутри чата на сайте, отслеживать этапы выполнения заказа и по трек-номеру отследить сам заказ - разработаны интеграции со сторонними сервисами по рассылке SMS сообщений, предложений городов на основе введённого текста (сервис DaData), подключена онлайн-касса - мастера могут приобрести ряд подписок, с различными тарифами, которые убирают комиссии и увеличивают возможное количество заказов в работе
Чат реализован на веб-сокетах. Основной бэкенд написан на FastAPI и покрыт модульными, интеграционными и e2e-тестами. Слой бизнес логики отделён от уровня API и базы данных. Реализована система логирования, используя встроенную библиотеку logging, которая предварительно пишет все логи в Redis, и они через CeleryBeat выгружаются в JSON файлы.
Система развёрнута на Ubuntu 22.02 LTS так же мной, на этом же сервере работают Redis, Celery, PostgreSQL. При работе с версионированием используется git commit convention.