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


