/liza-alert-test

Тестовое задание: интерфейс ленты HackerNews

Primary LanguageTypeScript

Тестовое ЛизаАлерт

Демо: https://hacker-news-la.netlify.app/

Главная страница

  1. Показывает последние 100 новостей в виде списка, отсортированного по дате, самые свежие сверху. Отрисовываются первые 10 новостей, остальные рисуются по мере прокрутки. Подгрузка реализована при помощи Intersection Observer API.

  2. Каждая новость содержит:

  • название
  • рейтинг
  • ник автора
  • дату публикации
  1. По клику на новость происходит переход на страницу новости

Страница новости

  1. Содержит:
  • ссылку на новость
  • заголовок новости
  • дату
  • автора
  • счётчик количества комментариев
  • список комментариев в виде дерева
  1. Все комментарии загружаются после входа на страницу и отображаются в виде дерева
  2. На странице есть кнопка для возврата к списку новостей

Технологии

  • Приложение разработано с использованием React v17 и TypeScript v4.5
  • Роутинг реализован с помощью React Router v5
  • Использован официальный API Hacker News: https://github.com/HackerNews/API
  • В проекте используется линтер от Airbnb для React

Запуск проекта

Установить Node.js v16.

Установить зависимости командой:

npm i

Запустить проект в режиме разработки:

npm start

Сбилдить проект командой:

npm run build