Update TASK.md
This commit is contained in:
parent
8c4e8c930a
commit
e55173ece6
41
TASK.md
41
TASK.md
@ -117,3 +117,44 @@
|
||||
- Корректная работа без интернета
|
||||
- Ввод неверных данных
|
||||
- Успешный вход
|
||||
|
||||
|
||||
## Задание 2. Режим работы “Комната для переговоров” (~4 часа)
|
||||
**Дедлайн сдачи артефактов: 25.02 в 19:00**
|
||||
|
||||
Предыстория:
|
||||
|
||||
На текущем этапе компания принимает решение установить специальные устройства непосредственно у переговорных комнат — планшеты, которые будут служить отдельной точкой доступа к системе бронирования.
|
||||
Цель установки таких устройств — упростить и ускорить процесс резервирования переговорных комнат для сотрудников прямо на месте, без необходимости использования мобильных телефонов или компьютеров. Такие устройства предназначены показать расписание переговорки в реальном времени и дать возможность мгновенно забронировать комнату на оставшееся время текущего дня, если она свободна.
|
||||
Новые устройства работают в режиме специальной роли — «Комната для переговоров». При этом их функционал ограничен по сравнению с мобильным приложением и ориентирован именно на просмотр расписания и быструю бронь.
|
||||
|
||||
<img src="./img/room.png" alt="drawing" width="400"/>
|
||||
<img src="./img/pad.png" alt="drawing" width="400"/>
|
||||
|
||||
|
||||
|
||||
Цель: реализовать новую роль устройства — «Комната для переговоров», предназначенную для устройств, расположенных непосредственно у переговорных комнат. Эта роль должна позволять просматривать расписание переговорной комнаты и быстро бронировать её на остаток текущего дня при условии, что переговорка свободна.
|
||||
|
||||
Требования:
|
||||
- Реализовать новую роль “Комната для переговоров”:
|
||||
- Добавить в систему новую роль — «Комната для переговоров». Пользователи, обладающие этой ролью, будут иметь ограниченный набор разрешённых действий и уникальный интерфейс, отличающийся от ролей обычных сотрудников.
|
||||
- Обеспечить разграничение прав и функционала приложения в зависимости от роли пользователя, сохраняя при этом существующую структуру ролей и добавляя новую роль «Комната для переговоров» без нарушения текущей логики.
|
||||
- Реализовать просмотр расписания переговорной комнаты:
|
||||
- На экране устройства должен отображаться актуальный календарь бронирований текущей переговорной комнаты на сегодня и ближайшие 3 дня.
|
||||
- Интерфейс должен быть максимально информативным и обновляться автоматически с заданной периодичностью (например, раз в 1 минуту или мгновенно, при использовании сокетов).
|
||||
- Добавить функцию мгновенного бронирования:
|
||||
- В случае, если переговорная комната свободна на остаток текущего дня, должно быть доступно мгновенное бронирование до конца этого дня.
|
||||
- Кнопка «Забронировать» должна быть явной и активной только если помещение сейчас свободно. Бронирование возможно только на текущее дату.
|
||||
- При нажатии на кнопку происходит мгновенное бронирование на пользователя данной комнаты через API, и обновление интерфейса. В случае, если комната уже забронирована - выводится соответствующее сообщение.
|
||||
- Кнопка “Освободить” должна быть явной и активной только если помещение сейчас забронировано и занято. По нажатию на данную кнопку текущая бронь удаляется.
|
||||
- Обработать ошибки. В случае отсутствия связи с сервером или ошибок при бронировании, интерфейс должен отображать соответствующее сообщение об ошибке и при этом сохранять доступ к просмотру расписания.
|
||||
- Адаптировать интерфейс. Необходимо учесть, что рядом с кабинетами зачастую расположены планшеты в альбомной ориентации.
|
||||
|
||||
**Для прохождения на код-ревью, в приложение должны выполняться следующие сценарии:**
|
||||
- Работа без интернета
|
||||
- Ввод неверных данных
|
||||
- Успешный вход
|
||||
- На экране отображается и обновляется в течение 1 минуты статус бронирования комнаты
|
||||
- Существуют и работают кнопки действий (забронировать и освободить)
|
||||
- На экране отображается расписания комнаты
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user