Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /