Pet-проект интернет-магазина.

Архитектура и технологии

  • API реализовано с помощью языка программирования Python и фреймверка FastAPI
  • Реализовано приложение с использованием модульной архитектуры.
  • В качестве системы управления базами данных выбрана PostgreSQL.
  • Для работы с базой данных применялась библиотека SQLAlchemy.
  • Логически разделённая маршрутизация реализована с помощью отдельных роутеров.

Аутентификация и безопасность

  • Внедрена система авторизации и разграничения прав доступа для ролей «Покупатель» и «Продавец».
  • Настроено логирование для отслеживания событий и ошибок в приложении.

Функциональные модули (API)

  1. Пользователи

    • Создание пользователей с различными ролями (покупатель, продавец).
    • Реализована авторизация пользователя.
    • В зависимости от роли пользователя предоставляется доступ к соответствующему функционалу.
  2. Работа с товарами

    • Получение списка товаров с возможностью фильтрации.
    • Создание, получение, изменение и удаление товаров.
    • Получение товаров по конкретной категории.
    • Получение информации о конкретном товаре.
  3. Работа с отзывами

    • Получение всех активных отзывов.
    • Получение отзывов по продукту.
    • Создание отзыва для товара.
    • даление отзыва.
    • Получение списка отзывов конкретного пользователя.
  4. Работа с корзиной и заказами

    • Создание заказа на основе товаров, находящихся в корзине.
    • Получение списка всех заказов.
    • Получение информации о конкретном заказе.
  5. Работа с категориями

    • Получение списка всех категорий.
    • Создание, обновление и удаление категорий.

Развертывание и эксплуатация

  • Осуществлён деплой проекта на сервер.
  • Проведено развертывание приложения в Docker-контейнере.
  • Выполнена настройка конфигурации сервера.
  • Настроено подключение SSL-сертификата для обеспечения безопасного соединения.

Схема базы данных

  • Схема базы данных