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

https://github.com/margo-yunanova/mesto-project-plus

Mesto (Backend) представляет собой социальную платформу, где пользователи могут обмениваться фотографиями и ставить лайки другим пользователям.
https://github.com/margo-yunanova/mesto-project-plus

celebrate expressjs jwt mongodb mongoose rest-api typescript winston

Last synced: 3 months ago
JSON representation

Mesto (Backend) представляет собой социальную платформу, где пользователи могут обмениваться фотографиями и ставить лайки другим пользователям.

Awesome Lists containing this project

README

          

# Mesto - социальная сеть для обмена фотографиями

Mesto - это проект для изучения TypeScript, ExpressJS, Mongodb, Mongoose, Celebrate, Winston, REST API, JWT.

## Описание проекта

Mesto представляет собой социальную платформу, где пользователи могут обмениваться фотографиями и ставить лайки другим пользователям.

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

- ExpressJS основной микрофреймворк проекта
- Typescript в качестве основного языка проекта
- Mongodb и ODM Mongoose для хранения данных пользователей
- Node.js в качестве среды выполнения

## Установка

Для запуска проекта выполните следующие шаги:

- Запуск проекта в режиме продакшен: `npm run start`
- Запуск проекта в режиме разработки: `npm run dev`
- Сборка проекта `npm run build`
- Деплой проекта с помощью pm2 `npm run deploy`

## Этапы разработки

- Создание схем и моделей для пользователя и карточки
- Реализация контроллеров и роутов согласно методологии REST API
- Разработка функционала регистрации и авторизации пользователей
- Защита всех маршрутов, кроме регистрации и логина, с помощью авторизации
- Централизованная обработка ошибок и логирование запросов
- Валидация всех запросов на сервере

## Полезные ссылки

1. [Чек-лист первого этапа](https://code.s3.yandex.net/web-plus/checklists/checklist_pdf/checklist_20.pdf)
1. [Чек-лист второго этапа](https://code.s3.yandex.net/web-plus/checklists/checklist_pdf/checklist_21.pdf)