- FastAPI это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериализацией и асинхронностью, что называется, из коробки.
- SQLAlchemy программная библиотека на языке Python для работы с реляционными СУБД с применением технологии ORM.
- Pydantic библиотека для Python, предназначенная для валидации и трансформации данных.
- PostgreSQL свободная объектно-реляционная система управления базами данных (СУБД).
- Docker Compose система сборки, запуска и управления множеством контейнеров.
- Тестирование с Pytest.
├── app
│ ├── .env # Конфигурация окружения
│ ├── .test.env # Конфигурация окружения для тестовой БД
│ ├── alembic.ini # Конфигурация Alembic
│ ├── api/ # Модуль API
│ ├── core # Модуль работы с БД, конфиг файл
│ ├── crud/ # Работа с базой данных
│ ├── main.py # Основной файл для запуска приложения
│ ├── migrations/ # Миграции базы данных
│ ├── models/ # Создание таблиц в базе данных
│ ├── schemas/ # Схемы модулей
│ └── tests/ # Тестирование API
├── docker-compose.yml # Инструкции
├── Dockerfile # Конфигурационный файл
├── pytest.ini # Конфигурация Pytest
├── README.MD # Документация проекта
└── requirements.txt # Зависимости проекта
-
Склонируйте репозиторий:
git clone https://github.com/AndreyMelman/TestTask.git
-
Настройте файл
.env
:APP_CONFIG__DB__URL="postgresql+asyncpg://name:password@localhost:port/database"
-
Для быстрого запуска приложения запустите:
docker compose up --build
Создается база данных PostgreSQL, сервер Redis, запускается Celery и приложение, а также выполняются миграции базы данных.
Приложение будет доступно по адресу http://0.0.0.0:8000.