Skip to content

ton9q/mentor-dashboard

Repository files navigation

RSS Дашборд ментора

Deadline: Sunday, Feb 24, 2019 23:59

Задание

Вы должны реализовать дашборд ментора школы The Rolling Scopes в виде странички на github pages.

Дашборд должен содержать следующую информацию

  • список студентов, которых курирует ментор
  • список тасков студентов, которые должны делать студенты
  • таблица студент / задания должны быть подсвечена следующим образом:
    • зеленый цвет - проверенные задания
    • желтый цвет - задания сейчас в работе у студентов (status - in progress)
    • красный цвет - задания, которые ментору надо проверять (status - checking)
    • темно-красный цвет - задания, которые уже надо было сдать, но их не сдали (status - checked)
    • серая подсветка / притухшие - задания, которые еще не надо делать (status - no status / todo)

Выбор ментора должен происходить из всех менторов набора, которые содержатся в отдельном excel файле, используя контрол автокомплита (https://bestofjs.org/projects/react-select или https://bestofjs.org/projects/chosen). Выбранный ментор должен сохраняться в localStorage и подставляться при следующей загрузке страницы.

Приблизительный внешний вид

rss-mentor-dashboard

Ограничения

  • Должно работать в Chrome
  • Можно гуглить, общаться между собой и пользоваться stackoverflow
  • можно использовать lodash
  • задание должно использовать React

Как делать / сдавать

  • написать nodejs скрипт который
    • обработает данные с помощью библиотеки node-xlsx из папки с данными . Можно использовать любую другую библиотеку для чтения excel файлов.
    • будет использовать файлы для обработки библиотекой - Tasks, Mentor score, Mentor-students pairs (информация по парам ментор - студент + информация по соотвествию имени / фамилии ментора его гитхаб аккаунту )
    • исправит возникающие ошибки в данных (неправильное написание гитхаб аккаунтов, неправильные пары ментор-студент). Надо самому решать что исправлять скриптом, а что руками в исходных файлах. Если правятся исходные файлы - надо указать в readme при сдаче таска
    • соединит (смержит, заджоинит (join)) данные из google drive папки
      • по студентам ментора
      • по выставленным оценкам
    • получит json файл с нужными данными
    • загрузит данные на html страницу
  • с помощью react и react component нарисовать дашборд, используя получившийся json
  • сбилдить веб паком и выложить сбилженные файлы на github pages
  • pull request должен содержать
    • nodejs script, инструкцию как им пользоваться,
    • получившийся json
    • js файл с реакт компонентой
    • html страницу, которая подключает реакт, js файл с реактом, загружает json файл с данными, которые отображает react компонента
  • запостить ссылку на гитхаб страницу + PR в форму

Требования к коммитам, PR, репозиторию

Общие требования из этапа 2

Критерий оценки:

  • Максимальный бал за задание - 140
  • Реализована генераций json файла - +25
  • Реализовано подключение json файла на страницу и вывод списка студентов ментора - +10
  • Реализовано подключение json файла на страницу и вывод списка тасков ментора - +10
  • Реализовано подключение json файла на страницу и выбор ментора из контрола выбора менторов - +10
  • Реализована подгрузка выбранного ментора из локал стораджа - +5
  • Реализована цветовая индикация +10
  • Требования к репозиторию, коммитам и PR выполены +5 баллов
  • Тесты покрывают следующую фунциональность
    • функции мержа данных - +10
    • правильность генерирования итогового json +10
    • факт рендера данных - +5
  • Реализован логин и выбор ментора по github аккаунту +30
  • до -50 баллов за нарушение stage2-tasks-requirements
  • если сделан сервер, который раз в пару минут проверяет гугл документ и умеет отдавать свежий json на github pages - +10

Кто выполянет проверку задания?

Ваш ментор.

Доп материалы

https://www.youtube.com/watch?v=YljG0j-9Vko - видео с разбором задания (первый час). Второй час - небольшой лайфкодинг аналогичного задания.