Проект Mesto (бэкенд)
Описание
Бэкенд часть SPA приложения Mesto на Express.js. Схемы и модели созданы через Mongoose. Все роуты, кроме /signup
и /signin
, защищены. Используется валидация Joi и celebrate. При регистрации пользователя пароль хешируется модулем
bcrypt с добавлением соли. Реализована централизованная обработка ошибок. Настроено логирование запросов и ошибок.
Ссылка на код фронтенд части приложения Mesto
Задача
- Написать бэкенд для проекта Mesto
Роуты
Для пользователей:
Запрос | Роут | Описание |
POST | /signup | Создаёт пользователя с переданными в теле email, password и name |
POST | /signin | Проверяет переданные в теле почту и пароль и возвращает JWT |
POST | /signout | Удаляет JWT из куков пользователя |
GET | /users/me | Возвращает информацию о пользователе (email и имя) |
PATCH | /users/me | Обновляет информацию о пользователе (email и имя) |
PATCH | /users/me/avatar | Обновляет аватар пользователе |
Для карточек:
Запрос | Роут | Описание |
GET | /cards | Возвращает все карточки |
POST | /cards | Создаёт карточку с переданными в теле name, link |
DELETE | /cards/cardId | Удаляет добавленную карточку по id |
PUT | /cards/cardId/likes | Ставит карточке лайк по id |
DELETE | /cards/cardId/likes | Убирает лайк с карточки по id |
Стек
- Node.js
- Express.js
- MongoDB
- JavaScript
- API
Установка
Для запуска на локальной машине необходимо:
- Установить npm зависимости:
npm install
- Запустить MongoDB:
npm run mongod
- Запустить в режиме разработки:
npm run start — запускает сервер
npm run dev — запускает сервер с hot-reload
Если все прошло успешно, проект будет запущен на http://localhost:3010