Skip to content

Verakhab/news-explorer-api

Repository files navigation

Diploma backend, news-explorer-api

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.

Локальный запуск

  1. Склонировать репозиторий
  2. Установить отсутствющие модули npm
        npm install
    
  3. Запустить локальный сервер
        npm run start
    
  4. Запустить локальный сервер с хот-релоудем
        npm run dev
    

About

Diploma backend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published