Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elrouss/express-mesto-gha
Учебный backend-проект "Место"
https://github.com/elrouss/express-mesto-gha
backend celebrate elrouss eslint expressjs helmetjs joi mongodb mongoose nodejs nodemon rate-limit rest-api yandex-praktikum
Last synced: 8 days ago
JSON representation
Учебный backend-проект "Место"
- Host: GitHub
- URL: https://github.com/elrouss/express-mesto-gha
- Owner: elrouss
- Created: 2023-02-14T22:14:55.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-08T13:31:47.000Z (almost 2 years ago)
- Last Synced: 2024-12-10T20:38:39.354Z (12 days ago)
- Topics: backend, celebrate, elrouss, eslint, expressjs, helmetjs, joi, mongodb, mongoose, nodejs, nodemon, rate-limit, rest-api, yandex-praktikum
- Language: JavaScript
- Homepage:
- Size: 138 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Tests](../../actions/workflows/tests-14-sprint.yml/badge.svg)](../../actions/workflows/tests-14-sprint.yml)
Учебный backend-проект: "Место"
Оглавление
- Описание проекта
- Стек технологий
- Установка и запуск приложения в локальном репозитории, эксплуатация
- Процесс создания
- Функционал
- Статус проекта
1. Описание проекта
Данная проектная работа выполнена в рамках образовательной программы Яндекс Практикума. Проект представляет собой написание серверной логики для последующего объединения с частью frontendа, сделанной на "React"
Ссылка на проект: https://github.com/elrouss/express-mesto-gha
Чеклисты:
https://code.s3.yandex.net/web-developer/checklists-pdf/new-program/checklist_14.pdf
https://code.s3.yandex.net/web-developer/checklists-pdf/new-program/checklist_13.pdf* - проект прошел код-ревью
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. Статус проекта
Проект завершен