Skip to content

API для онлайн магазина на базе FAST API с авторизацией и аутентификацией.

License

Notifications You must be signed in to change notification settings

gmlrep/Market_API

Repository files navigation

Market API

Market API, написанный на Fast API, который позволяет регистрироваться покупателям, продавцам. Создание компании для продажи товаров, карточки продукта, добавление менеджеров для ведения компании с ограниченными правами.

Реализована отправка писем для подтверждения почты через микросервис задач Celery.

Безопасность конечных точек обеспечена при помощи аутентификации с JWT-токенами (access и refresh), а так же ролевому доступу к операциям. Создана конечная точка для обновления пары JWT-токенов.

Используемые технологии

Содержание

Особенности

  • Регистрация и аутентификация пользователей (JWT)
  • PostgreSQL в качестве базы данных проекта
  • SQLAlchemy Admin для администрирования базы данных
  • Миграции базы данных с использованием Alembic
  • Celery и Flower для отправки писем на почту
  • Использование Docker-контейнеров для удобного развертывания

Установка

Системные требования:

Протестировать на своем локальном сервере:

  1. Клонируйте репозиторий;
  2. Перейдите (cd) в клонированный каталог и создайте виртуальное окружение Python (Virtual environment, venv);
  3. Активируйте venv и установите pip и все зависимости из requirements.txt;
sudo apt install python3-pip
pip install -r requirements.txt
  1. Совершите миграцию с помощью Alembic:
alembic upgrade head
  1. Скопируйте .env-example под именем .env, откройте его и заполните переменные;
  2. Запустите через командную строку redis:
redis-server
  1. Внутри активированного venv:
python3 -m app

Запуск проекта на сервере с Docker

  1. Переименуйте файл .env-example в .env, откройте и заполните переменные;
  2. Запустите бота:
docker compose up -d
  1. Проверьте, что контейнер поднялся:
docker compose ps

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

SwaggerUI.png

Админ панель

admin_panel.png

Flower интерфейс

celery_flower.png

About

API для онлайн магазина на базе FAST API с авторизацией и аутентификацией.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages