Этот проект представляет собой API для системы бронирования отелей, разработанный с использованием FastAPI.
- FastAPI: Web-фреймворк для создания API с автоматически сгенерированной документацией.
- SQLAlchemy: ORM для работы с базой данных.
- FastAPI-Cache: Модуль для кэширования запросов.
- SQLAdmin: Инструмент администрирования базы данных SQL.
- Redis: Кэш для улучшения производительности.
- Celery: Очереди задач для асинхронной обработки.
- Pytest: Тестирование приложения.
-
Клонировать репозиторий:
git clone https://github.com/yourusername/hotel-booking-api.git cd hotel-booking-api
-
Создать виртуальное окружение и установить зависимости:
python -m venv venv source venv/bin/activate # для Unix/Mac .\venv\Scripts\activate # для Windows pip install -r requirements.txt
-
Переименовать файл .env_example --> .env и заполнить его.
-
Настроить базу данных и конфигурацию в файле
config.py
. -
Запустить приложение:
uvicorn main:app --reload
-
Перейти по адресу http://127.0.0.1:8000/docs для доступа к документации API.
- Регистрация и аутентификация пользователей.
- Получение списка отелей и комнат.
- Бронирование номеров.
Пример запроса на регистрацию пользователя:
curl -X 'POST' \
'http://127.0.0.1:8000/auth/register/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"email": "user@example.com",
"password": "securepassword"
}'