Данный проект представляет собой реализацию backend-части пет-проекта "Бронирование номеров". Данный подпроект реализует REST API архитектуру с использованием подхода Domain Driven Design и популярными паттернами разработки (TransactionManager, Repository, Factory, IoC, Dependency Inject. и другие). Это обеспечивает высокую гибкость, масштабируемость и тестируемость приложения.
- Язык программирования: Python 3.11
- База данных: PostgreSQL
- Контейнеризация: Docker
- Веб-фреймворк: FastAPI
- Драйвер для PostgreSQL: Psycopg2 + Asyncpg
- Фреймворк для внедрения зависимостей: Dishka
- Клонировать репозиторий:
git clone https://github.com/iNTENSY/fastapi-ddd-hotels.git
- Создать виртуальное окружение
python -m venv .venv
- Активировать виртуальное окружение: (Windows)
.\.venv\Scripts\activate
или (Linux)source ./.venv/bin/activate
- Установить имеющиеся библиотеки:
pip install -r requirements.txt
- Создать файл с переменными окружения из
.env.example
. Файл назвать.env
- Проверить и применить миграции с помощью alembic:
alembic revision --autogenerate
alembic update head