Market API, написанный на Fast API, который позволяет регистрироваться покупателям, продавцам. Создание компании для продажи товаров, карточки продукта, добавление менеджеров для ведения компании с ограниченными правами.
Реализована отправка писем для подтверждения почты через микросервис задач Celery.
Безопасность конечных точек обеспечена при помощи аутентификации с JWT-токенами (access и refresh), а так же ролевому доступу к операциям. Создана конечная точка для обновления пары JWT-токенов.
- Регистрация и аутентификация пользователей (JWT)
- PostgreSQL в качестве базы данных проекта
- SQLAlchemy Admin для администрирования базы данных
- Миграции базы данных с использованием Alembic
- Celery и Flower для отправки писем на почту
- Использование Docker-контейнеров для удобного развертывания
- Клонируйте репозиторий;
- Перейдите (
cd
) в клонированный каталог и создайте виртуальное окружение Python (Virtual environment, venv); - Активируйте venv и установите pip и все зависимости из
requirements.txt
;
sudo apt install python3-pip
pip install -r requirements.txt
- Совершите миграцию с помощью Alembic:
alembic upgrade head
- Скопируйте
.env-example
под именем.env
, откройте его и заполните переменные; - Запустите через командную строку redis:
redis-server
- Внутри активированного venv:
python3 -m app
- Переименуйте файл
.env-example
в.env
, откройте и заполните переменные; - Запустите бота:
docker compose up -d
- Проверьте, что контейнер поднялся:
docker compose ps
- API (Swagger UI) - http://localhost:8000/docs
- Админка (SQLAlchemy Admin) - http://localhost:8000/admin
- Celery (Flower) - http://localhost:9999