An open API service indexing awesome lists of open source software.

https://github.com/sibisov-artem/express-mesto-gha

Темплейт проектной работы курса Веб-разработчик Яндекс.Практикум
https://github.com/sibisov-artem/express-mesto-gha

express js mogodb mogoose nodejs

Last synced: 2 months ago
JSON representation

Темплейт проектной работы курса Веб-разработчик Яндекс.Практикум

Awesome Lists containing this project

README

        

[![Tests](../../actions/workflows/tests-14-sprint.yml/badge.svg)](../../actions/workflows/tests-14-sprint.yml)

# **Проектная работа: "Mesto - бэкенд". Создана в рамках учебы в Яндекс.Практикум**
*Является итоговой работой по 13-14 спринтам*

---
## ***Описание и функциональность***

Проект представляет из себя бэкенд для проекта [Mesto](https://github.com/Sibisov-Artem/react-mesto-auth).

***Функциональность:***
+ Регистрация
+ Авторизация
+ Обновление данных пользователя
+ Обновление аватара
+ Получение списка пользователей
+ Получение пользователя по ID
+ Получение информации о текущем пользователе
+ Получение списка карточек
+ Создание карточки
+ Удаление карточки
+ Постановка лайка
+ Снятие лайка
+ Реализована централизованная обработка ошибок
+ Валидированы приходящие на сервер запросы
+ Валидированы данные на уровне схемы (с использование регулярных выражений)
+ Ограничение количества запросов (защита от DDoS атак)

***Директории:***

`/routes` — папка с файлами роутера
`/controllers` — папка с файлами контроллеров пользователя и карточки
`/models` — папка с файлами описания схем пользователя и карточки

---

## ***Используемые технологии:***
### *JavaScript*
### *NodeJS*
### *Express*
### *MongoDB*


---
## ***Инструкция по развёртыванию:***

Клонировать репозиторий на свой компьютер через командную строку:
```
git clone https://github.com/Sibisov-Artem/express-mesto-gha.git
```
или скачать архивом и распаковать.

**Запуск проекта:**

`npm ci` — установка зависимостей

`npm lint` — запускает проверку линтером

`npm run start` — запускает сервер

`npm run dev` — запускает сервер с hot-reload