GitHub: https://github.com/Verakhab/news-explorer-api
Version: v.1.0.0
Приложение написанное на Node.js используя веб-фреймворк express.js, база данных MongoDB в связке с mongoose, реализовано 11 роутов, а именно:
- Получение новостей по ключевому слову;
- Регистрация;
- Вход;
- Получение данных пользователя;
- Добавление новости;
- Удаление новости;
- Получение всех новостей;
Сервер расположен на виртуальной машине в облаке, используется менеджер процессов pm2, http-сервер nginx перенаправляющий запросы на нужные порты, расположенно на поддомене фронтенда, используется SSL-сертификат. Приложение осуществляет аутентификацию пользователя прежде чем допустить ко всем роутам кроме регистрации и входа, использует npm cors для отправки нужных заголовков доступным ресурсам(в доработке), осуществленна централизованная обработка ошибок, логгируются все запросы и запросы с возникновением ошибок отдельно с помощью npm logger, осуществляет валидацию полученных данных на уровне роута при помощи npm celebrate и базы данных встроенными возможностями mongoose, для работы с ошибками используется класс Error от которого наследуются классы возможно возникающих ошибок в этом приложении, установлено ограничение количества запросов с помощью npm express-rate-limit.
Используемые технологии: JS, Node.js, express, GIT, MongoDB, npm, mongoose, nginx, pm2.
- Склонировать репозиторий
- Установить отсутствющие модули npm
npm install
- Запустить локальный сервер
npm run start
- Запустить локальный сервер с хот-релоудем
npm run dev