API сервис для бронирования номеров
- Описание
- Технологии
- Основные ресурсы
- Шаблон заполнения .env-файла
- Запуск проекта на локальной машине
- Автор
Сервис — REST API для бронирования номеров в отеле.
Реализован на Django + Django REST Framework, используется Djoser для аутентификации (JWT), drf-spectacular для документации.
Проект адаптирован для использования PostgreSQL и развёртывания в контейнерах Docker./api/v1/rooms/— CRUD и список номеров/api/v1/room_type/— типы номеров/api/v1/bookings/— бронирования (создание/обновление/просмотр)/api/v1/room_images/— загрузка фото номера/api/v1/auth/— djoser (регистрация, логин, токены)
в settings.py указаны дефолтные значения для переменных из env-файла
SECRET_KEY = 'Ваш секретный ключ'
DB_ENGINE=django.db.backends.postgresql # указываем, что работаем с postgresql
DB_NAME=postgres # имя базы данных
POSTGRES_USER=postgres # логин для подключения к базе данных
POSTGRES_PASSWORD=postgres # пароль для подключения к БД
DB_HOST=db # название сервиса (контейнера)
DB_PORT=5432 # порт для подключения к БД - Склонируйте репозиторий
git clone git@github.com:dmsnback/bookinn.git- Переходим в папку с файлом
docker-compose.yaml
cd infra- Запускаем Docker контейнеры
docker-compose up -d --build- Выполняем миграции
docker-compose exec backend python manage.py migrate - Создаём суперюзера
docker-compose exec backend python manage.py createsuperuser- Собираем статику
docker-compose exec backend python manage.py collectstatic --no-input- Наполняем базу данных содержимым из файла
rooms_fixture.json:
В базу добавится 10 номеров.
docker-compose exec backend python manage.py loaddata data/rooms_fixture.jsonПроект станет доступен по адресу:
Админка станет доступна по адресу:
Документация к API будет доступна по адресу: