Skip to content
/ booking Public

application for booking parking spaces in the “Fregat office center”.

License

Notifications You must be signed in to change notification settings

pvlvnk/booking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект YaMDb

Описание

Проект booking_spaces позволяет забронировать место на определенные даты. Даты добавляются и удаляются менеджерами. Пользователь может как забронировать место, так и отменить бронь.

Пользовательские роли

  • Аноним — может просматривать доступные для брони места.
  • Аутентифицированный пользователь (employer) — может, как и Аноним, просматривать места, дополнительно он может просматривать доступные времена для брони, бронировать места на определенное время и отменять бронь.
  • Менеджер (manager) — те же права, что и у Аутентифицированного пользователя плюс право добавлять и удалять даты для бронирования
  • Администратор (admin) — полные права на управление всем контентом проекта. Может создавать и удалять даты для бронирования, Может добавлять новые места для брони через админку и назначать роли.
  • Суперюзер Django — обладет правами администратора (admin).

Технологии

python 3.10 Django 4.0 djangorestframework 3.12.4 djoser 2.1.0 djangorestframework_simplejwt 4.8.0 django-filter 21.1 requests 2.26.0 PyJWT 2.1.0

Ресурсы API YaMDb

  • Ресурс auth: аутентификация, получение токена
  • Ресурс spaces: Добавление новых мест для брони, просмотр мест, просмотр списка свободных дат у определенного места

Установка

Клонируйте новый репозиторий себе на компьютер

git clone https://github.com/pvlvnk/booking.git

Перейти в него в командной строке

cd booking

Разверните в репозитории виртуальное окружение в папке скачанного репозитория выполните команду:

pip install -r requirements.txt

Выполнить миграции:

python booking_spaces/manage.py makemigrations
python booking_spaces/manage.py migrate --run-syncdb

Запустить проект:

python booking_spaces/manage.py runserver

Примеры

Примеры запросов по API:

  • [POST] /api/auth/users/ - Зарегистрировать нового пользователя
  • [GET], [PUT], [PATCH] /api/auth/users/ - Получить/обновить зарегистрированного пользователя
  • [POST] /api/auth/jwt/create/ - Создать JWT-токен
  • [POST] /api/auth/jwt/refresh/ - Получить новый JWT по истечении времени жизни ранее сгенерированного
  • [GET] /api/spaces/ - Получить сведения о существующих местах для бронирования
  • [POST] /api/spaces/ - Создать новое место для бронирования
  • [GET] /api/spaces/{spaces_slug}/vacant_dates - Получить список всех возможных дат для брони для конкретного места

About

application for booking parking spaces in the “Fregat office center”.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published