/News_Explorer_Backend

Course final project: backend for a news search website // Дипломный проект: бэкенд сайта для поиска новостей

Primary LanguageJavaScript

News Explorer Backend

По-русски
In English

Описание

  • Дипломный проект курса: сайт для поиска и хранения новостных статей

  • Компонент: бэкенд

  • Версия: 0.0.1

Размещение

Проект задеплоен по следующим адресам:

Наверх ⬆️

Функционал проекта

Сервер обрабатывает запросы на создание пользователя (POST /signup) и вход в систему (POST /signin), с выдачей токена для быстрого входа), а также запросы с токеном к следующим страницам:

  • GET /users/me (возвращает информацию о пользователе),
  • GET /articles (возвращает все сохраненные пользователем статьи),
  • POST /articles (создаёт статью),
  • DELETE /articles/:articleId (удаляет статью, при условии что она принадлежит пользователю),

а также запросы по несуществующим адресам, отправляя в ответ JSON-объекты.

Наверх ⬆️

Используемые технологии

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • Nodemon
  • Eslint
  • bcrypt
  • JSON Web Token
  • Сelebrate и Joi
  • Winston
  • Helmet

Наверх ⬆️

Как воспользоваться проектом

Обращаться к роутам проекта, указывая в теле запросов необходимые данные.

Наверх ⬆️

В рамках курса Веб-разработка в Яндекс.Практикуме


About

  • Graduation project of the course: a website for news search and saving

  • Component: backend

  • Version: 0.0.1

Access

The project is deployed at the following URLs:

To top ⬆️

Project functionality

The server handles requests for user creation (POST /signup) and login (POST /signin, issuing a token for quick login), as well as requests with a token to the following pages:

  • GET /users/me (returns user's own data),
  • GET /articles (returns all the articles the user has saved),
  • POST /articles (creates an article),
  • DELETE /articles/:articleId (deletes the article, provided that it belongs to the user),

as well as requests to non-existent addresses, sending JSON objects in response.

To top ⬆️

Technologies used

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • Nodemon
  • Eslint
  • bcrypt
  • JSON Web Token
  • Сelebrate и Joi
  • Winston
  • Helmet

To top ⬆️

How to use the project

Execute requests to the routes listed above, specifying data fields in the request body, as necessary.

To top ⬆️

As part of the Web-Development course at Yandex.Praktikum