study project at hexlet.io
RSS Reader is a service for aggregating RSS feeds. It allows you to add an unlimited number of RSS feeds, updates them and adds new entries to the general stream.
JavaScript: yup, axios, onChange, i18next, promises (native)
CI/CD: vercel, codeclimate, github actions
Tests: jest, @testing-library
Bundler: webpack
Layout: bootstrap 5
-
Form
- used by yup to analyze and validate input value
- unsupervised
-
UX
- form blocked during submission
- error handling (possible errors):
- 'Поле не должно быть пустым'
- 'Ссылка должна быть валидным URL'
- 'RSS уже существует'
- 'Ошибка сети'
- 'Ресурс не содержит валидный RSS'
- success handling (possible messages):
- 'RSS успешно загружен'
-
Post preview
- click on the "View" button opens a modal window with a description of the post
- link of the post is marked as visited
- used bootstrap modal component
-
Subscribing to news feed
- AJAX (axios) is used to periodically (once every 5 seconds) poll the added feeds for new posts
node.js >= 14
npm >= 6
make >= 4
RSS feed with interval updated:
http://lorem-rss.herokuapp.com/feed?unit=second&interval=5
$ git clone git@github.com:vetneka/frontend-project-lvl3.git
$ make install
$ make develop
$ make test
$ make test-coverage