Веб-приложение для добавления/удаления фотографий, выполненный в рамках учебной проектной работы в Яндекс.Практикум.
Авторизованные пользователи могут:
- загружать фотографии с подписями;
- удалять их, если передумали;
- ставить лайки фотографиям друг друга;
- редактировать профиль (изменять информацию о себе и аватар).
Ссылка на веб-приложение: https://bevuxyna.students.nomoredomains.sbs
Запросы к API осуществляются по адресу: https://api.bevuxyna.students.nomoredomains.sbs
- Реализована авторизация и аутентификация пользователей.
- Все роуты, кроме аутентификации и авторизации, защищены авторизацией.
- Настроено логгирование (запросы и ответы записываются в
request.log
, ошибки записываются вerror.log
). - Данные, которые приходят в теле и параметрах запроса, валидируются.
- Ошибки обрабатываются централизованным обработчиком.
- Для ошибок API созданы классы, расширяющие конструктор
Error
. - Реализовано бережное хранение пароля (пароль хранится в виде хеша, API не возвращает хеш пароля клиенту)
Регистрация нового пользователя:
Основная страница с карточками:
Редактирование данных пользователя:
Регистрация пользователя
POST /signup
Авторизация пользователя
POST /signin
Получение информации о текущем пользователе
GET /users/me
Получение данных всех пользователей из базы
GET /users
Получение информации о пользователе по _id
GET /users/:userId
Обновление данных пользователя
PATCH /users/me
Обновление аватара пользователя
PATCH /users/me/avatar
Получение всех карточек из базы
GET /cards
Создание карточки
POST /cards
Обновление информации о пользователе (email и имя)
PATCH /users/me
Удалить карточку по _id
DELETE /cards/:cardId
Поставить лайк карточке
PUT /cards/:cardId/likes
Удаление лайка с карточки
DELETE /cards/:cardId/likes
Клонировать репозиторий:
gh repo clone bevuxyna/react-mesto-api-full
Установить зависимости:
npm install
Запустить сервер на localhost:3000
:
npm run start
Запустить сервер на localhost:3000
с hot-reload:
npm run dev
Макет в Figma с компонентами авторизации и аутентификации