- Дедлайны:
- Pre-Alpha
- Утверждение ТЗ: до 29.09 ✅
- Макет страниц: до 30.09 ✅
- Верстка страниц: до 05.10 ✅
- MVP: до 31.10
- Alpha версия: до 07.11
- Beta версия и нагрузочное тестирование: до 14.11
- Release: до 14.12
- Pre-Alpha
- Основной функционал:
- Вход через ВК
- После первого входа обеспечить выбор № комнаты (обычное input поле с кнопкой)
- Бронирование ячейки со временем
- Отмена брони (только тому, кто забронировал)
- Таблицу с бронью не видят те, кто не авторизовался
- Дополнительно:
- Забронировать ближайшее время
- Отметка пользователем о том, что стирка завершена
- VK Mention Bot для сообщения в беседу с тегом тех, кто забыл забрать вещи из стирки, также об отметке, что стирка завершена (и номер машинки)
- Telegram Bot для бронирования
- Решение одновременного бронирования двумя пользователями (Ошибка бронирования). Проверять при бронировании занято ли время
- Необходимо валидировать введенный номер комнаты (нельзя выбрать несуществующую напр.1, -540, нельзя выбрать занятую или по количеству иметь больше 2 пользователей на комнату)
- После входа сохранять сессию, чтобы при повторном заходе не авторизовываться (2 недели или месяц)
-
Сайт оформлен как одностраничный
-
Кнопка авторизации через ВК сверху страницы, справа
-
После авторизации информация о пользователе располагается также сверху справа и содержит: Имя Фамилия № комнаты
-
Посередине страницы расположена таблица для бронирования, сверху выбор дня (сегодня, завтра, послезавтра) и имеет следующую структуру:
Сегодня Завтра Послезавтра 1 2 3 4 5 6 7 8:00 8:00 8:00 8:00 8:00 8:00 8:00 9:00 9:00 9:00 9:00 9:00 9:00 9:00 ... ... ... ... ... ... ... - При клике на ячейку со временем выходит модальное окно с подтверждением бронирования (да, нет), а также ячейка окрашивается в зеленый, после подтверждения - в красный для другого пользователя и в зеленый - для того, кто бронировал
- Спрашивать подтверждение после нажатия на бронь - да, нет
- После брони изменить время нельзя (сначала для MVP так оставим) и ячейка окрашивается в красный цвет и появляется номер комнаты (для MVP можно не делать)
- Ошибки бронирования в popup алертах
- СУБД клиент-серверная (sqlite или postgres)
- users (contraints: not null)
id | first_name | last_name | room_id | created_at |
---|---|---|---|---|
bigint | varchar | varchar | int | timestamp |
- books (constraints: not null)
id | user_id | machine_id | created_at | finished_at |
---|---|---|---|---|
bigint | bigint | int | timestamp | timestamp(default=created_at+1h) |
- Авторизация посредством OAuth (vk id)
- Secured REST API
- GET
- /users/ {user_id}
- /users/ {room_number}
- /books/ {id nullable, created_at nullable, user_id nullable}
- POST
- /books - {"created_at", "user_id"}
- DELETE
- /books - {"created_at"}
- GET