Giter Club home page Giter Club logo

python_test_task3's Introduction

Тестовое задание

Приложение для бронирования комнат в отеле

Требования:

  • Для комнат должны быть поля: номер/название, стоимость за сутки, количество мест.
  • Пользователи должны уметь фильтровать и сортировать комнаты по цене, по количеству мест.
  • Пользователи должны уметь искать свободные комнаты в заданном временном интервале.
  • Пользователи должны уметь забронировать свободную комнату.
  • Суперюзер должен уметь добавлять/удалять/редактировать комнаты и редактировать записи о бронях через админ панель Django.
  • Брони могут быть отменены как самим юзером, так и суперюзером.
  • Пользователи должны уметь регистрироваться и авторизовываться (логиниться).
  • Чтобы забронировать комнату пользователи должны быть авторизованными. Просматривать комнаты можно без логина. Авторизованные пользователи должны видеть свои брони.

Стек:

  • Django;
  • DRF;
  • СУБД предпочтительно PostgreSQL, но не обязательно. Главное не SQLite;
  • При необходимости можно добавлять другие библиотеки.

Приветствуется:

  • Автотесты;
  • Аннотации типов;
  • Линтер;
  • Автоформатирование кода;
  • Документация к API;
  • Инструкция по запуску приложения.

Страницы

  • .../rooms/ - Страница всех комнат

  • .../rooms/<room_id> - Страница информации конкретной комнаты

  • .../booked_dates/ - Страница со всеми забронированными датами пользователя

  • .../booked_dates/delete/<booking_records_id> - Ручка для удаления брони.

  • .../login/ - Страница авторизации

  • .../register/ - Страница регистрации

  • .../logout/ - Страница выхода

Инструкция по запуску

Для запуска приложения вам необходим docker и docker-compose

  1. Заполнить конфиги. Для этого необходимо создать файл .env в корневой директории проекта и заполнить его как в .env_example.
  2. Собрать проект командой
docker-compose build
  1. Запустить проект командой
docker-compose up
  1. Создать суперпользователя командой
docker exec -it django python manage.py createsuperuser

Ваше приложение запущено.

python_test_task3's People

Contributors

vggog avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.