Учебный проект от hexlet.io
RSS Reader — сервис для агрегирования RSS-каналов. Он позволяет добавлять неограниченное количество RSS-каналов, обновлять их и добавлять новые записи в общий поток.
JavaScript: yup, axios, onChange, i18next, promises (native)
CI/CD: vercel, github actions
Сборщик: webpack
Компоновка: bootstrap 5
-
Форма
-
используется yup для анализа и проверки входного значения
-
UX - дизайн
- форма заблокирована во время отправки
- обработка ошибок (возможные ошибки):
- 'Поле не должно быть пустым'
- 'Ссылка должна быть валидным URL'
- 'RSS уже существует'
- 'Ошибка сети'
- 'Ресурс не содержит валидный RSS'
- успешный сценарий (возможные сообщения):
- 'RSS успешно загружен'
-
Предварительный просмотр публикации
- нажатие на кнопку «Просмотреть» открывает модальное окно с описанием поста
- ссылка поста помечается как посещенная
- использован bootstrap modal component
-
Подписка на ленту новостей
- AJAX (axios) используется для периодического (раз в 5 секунд) опроса добавленных каналов на наличие новых сообщений.
node.js >= 20
npm >= 6
make >= 4
Пример RSS-канала:
http://lorem-rss.herokuapp.com/feed?unit=second&interval=5
$ git clone git@github.com:VitalMangal/frontend-project-11.git
$ make install
$ make develop