Skip to content

elrouss/express-mesto-gha

Repository files navigation

Tests

Учебный backend-проект: "Место"

Оглавление
  1. Описание проекта
  2. Стек технологий
  3. Установка и запуск приложения в локальном репозитории, эксплуатация
  4. Процесс создания
  5. Функционал
  6. Статус проекта

1. Описание проекта

Данная проектная работа выполнена в рамках образовательной программы Яндекс Практикума. Проект представляет собой написание серверной логики для последующего объединения с частью frontendа, сделанной на "React"

* - проект прошел код-ревью

2. Стек технологий

Иконка 'Express' Иконка 'Node JS' Иконка 'MongoDB' Иконка 'Postman'

3. Установка и запуск приложения в локальном репозитории

  1. git clone https://github.com/elrouss/express-mesto-gha - клонировать репозиторий (с использованием HTTPS) на свое устройство
  2. npm i - установить зависимости
  3. npm run dev - запустить сервер в режиме разработчика с hot-reload (в браузере ввести ссылку http://localhost:3000/, где 3000 - рабочий порт)

4. Процесс создания

Работа выполнена в 2 этапа:

  1. Написание схем, контроллеров и моделей (users & cards), подключение запросов с методами api (см. ниже), добавление кодов и текстов ошибок при неуспешных запросах (400, 404, 500)
  2. Расширение схем и контроллеров (users & cards), добавление функций регистрации и авторизации пользователей, добавление предварительного этапа валидации данных (celebrate & joi), обработка новых ошибок в едином обработчике (401, 403 и 409), обеспечение безопасности приложения (хэширование паролей пользователей, защита от DoS-атак, настройка заголовков HTTP)

5. Функционал

  • Регистрация пользователя

  • Авторизация пользователя

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

  • Редактирование данных пользователя

  • Создание карточки

  • Получение карточек

  • Переключение лайка карточки

  • Удаление карточки

6. Статус проекта

Проект завершен