Постановщик задач: компания Прикладные технологии.
2 задачи: Корпоративный форум и Карта офиса
Корпоративный форум
1. Каждый пользовать должет заходить в систему по логину и паролю, также у него есть Имя и Фамилия, email.
2. После логина пользователь видит на главном экране плитки с темами для общения. Каждая плитка содержит название (тема), общее количество комментариев и последний комментарий (или его часть, если он длинный) с именем автора и датой и временем публикации.
3. Кликнув плитку с темой можно провалиться (открыть другую страницу или всплывающую область) в которой отображается более детальная информация по теме (название, описание, автор и т.д.), отображаются комментарии (если их много, то работает скроллинг и подгрузка с сервера), можно добавить новый комментарий, лайкнуть любой, отредактировать или удалить свой комментарий (текущий пользователь == автор комментария).
4. Комментарий содержит текст комментария, автора, дату и время публикации и общее число лайков.
5. На основном экране с плитками они должны сортироваться умно – придумать алгоритм, учитывающий общее количество комментариев, дату публикации последнего, можно включать в алгоритм количество лайков внутри темы и другие признаки если необходимо.
6. Основной экран с плитками отображает количество плиток, которые влезают в экран, остальные должны подгружаться или по скроллингу вниз автоматически, или по кнопке подгрузки.
7. Любой пользователь может создать новую тему. У темы есть название, описание.
Технологии
Backend: Node.js, Express.js, MongoDB
Frontend: HTML, CSS, JavaScript и React, вёрстка с использованием flex box
Карта офиса
1. Каждый пользовать должет заходить в систему по логину и паролю, также у него есть Имя и Фамилия, email.
2. Есть обычне пользователи, есть пользователи с ролью Администратор.
3. После логина пользователь видит на главном экране список сотрудников.
4. Есть возможность переключать отображение – список, плитки (с фотографиями), карта офиса с маркерами.
5. В режимах список и плитки информация загружается порциями, каждая следующая порция подгружается автоматически при скроллинге или по нажатию на кнопку. Можно также оргазовать явное переключение по страницам вместо подгрузки.
6. В режиме карта в основной зоне отображается карта, которая грузится из файла SVG. Желательно иметь возможность увеличения/уменьшения карты.
7. В любом отображении есть возможность поиска сотрудника по Имени/Фамилии.
8. Пользователи с ролью Администратор имеет возможность добавлять/редактировать/удалять сотрудников.
9. Аттрибуты сотрудника: имя, фамилия, отчество, адрес на офисной карте (продумать механизм связи с картой, а также как администратор будет выбирать – может кликать прямо в карту, может писать адрес руками).
Технологии
Backend: Node.js, Express.js, MongoDB
Frontend: HTML, CSS, JavaScript и React, вёрстка с использованием flex box