Тема: Node.js за выходные
Реально ли?
хочется выполнить задание:
Необходимо разработать SPA (Single Page Application) приложение используя в качестве WEB-сервера Node.js. Допускается использование дополнительных JS библиотек и Фреймворков.
1) Установить Node.js, настроить и запустить WEB-сервер. Сервер должен отдавать клиенту стартовую страницу и данные
2) На стороне клиента страница должна содержать меню из трех кнопок и блок данных
3) Так как строим SPA, при переходе по пунктам меню не должно быть перезагрузки страницы. Ссылки перехода для кнопок:
a) Начало - /#home
b) Топ 5 - /#top
c) Весь список - /#full
При указании в адресной строке любого из вышеперечисленных URL в блоке «Блок данных» должны отобразиться соответствующие данные.
4) Содержание для пунктов меню:
a) Начало – вывести текст «Главная страница»
b) Топ 5 – рассчитать и выбрать из файла testdata.json первые 5 мест и вывести в виде таблицы по убыванию Опыта и Монет. При равенстве опыта и монет у нескольких человек, назначить им одинаковое место.
Место ФИО Статус Опыт Монеты
1 ФИО 1 Статус 1 2000 300
2 ФИО 2 Статус 2 2000 250
3 ФИО 3 Статус 3 1500 200
3 ФИО 4 Статус 4 1500 200
…
Структура исходных данных:
{
"idNode": 23164,
"fio": "Калашникова Светлана Алексеевна",
"sex": "ж",
"idParent": 23120,
"idRole": 1,
"idZone": null,
"idInstance": 1,
"level": "Солдат",
"levelOrder": 2,
"resources": "[{\"resource\":\"ACTIVERATE\",\"value\":0},{\"resource\":\"PASSIVERATE\",\"value\":400},{\"resource\":\"MONEY\",\"value\":100},{\"resource\":\"LEVEL\",\"value\":2}]"
},
Соответствие полей заполняемой таблицы и исходных данных
Место – вычисляемое значение
ФИО – поле "fio"
Статус – поле "level"
Опыт – сумма полей "value" из элементов {\"resource\":\"ACTIVERATE\",\"value\":0} и {\"resource\":\"PASSIVERATE\",\"value\":400}
Монеты – поле "value" из элемента {\"resource\":\"MONEY\",\"value\":100}
c) Вывести полный список аналогично пункта “b”