Разработать интерфейс для сайта Hacker News , состоящий из двух страниц.
- Показывает последние 100 новостей в виде списка, отсортированного по дате, самые свежие сверху.
- Каждая новость содержит:
- название;
- рейтинг
- ник автора
- дату публикации
- По клику на новость происходит переход на страницу новости
- Список новостей должен автоматически обновляться раз в минуту без участия пользователя
- На странице должна быть кнопка для принудительного обновления списка новостей
- Должна содержать:
- ссылку на новость
- заголовок новости
- дату
- автора
- счётчик количества комментариев
- список комментариев в виде дерева
- Корневые комментарии подгружаются сразу же при входе на страницу, вложенные - по клику на корневой
- На странице должна быть кнопка для принудительного обновления списка комментариев
- На странице должна быть кнопка для возврата к списку новостей
Приложение разработано с использованием React и MobX
Использован официальный API Hacker News . Вызовы Hacker News API и обработка данных от него производятся напрямую с фронтенда (кроме случая, если вы сделаете опциональное задание про Node.JS).
Роутинг выполнен с использованием React Router v5
Фреймворк UI любой на ваше усмотрение (как пример Ant Design или Semantic UI )
Можно и на чистом css, главное, чтобы было красиво
Пакетный менеджер yarn
Приложение должно запускаться по адресу localhost:3000 командой yarn start
При переходах по ссылкам страница не перезагружается
Исходный код решения должен быть выложен с вашего аккаунта на Github
Использование TypeScript
Бэкенд для хостинга статики и API для инкапсуляции внешних запросов на Node.JS
Покрытие кода юнит-тестами