Skip to content

Verakhab/mesto-api

Repository files navigation

Server for projekt Mesto

Publik IP: 178.154.200.253

Domain: https://mesto.gq

GitHub: https://github.com/Verakhab/server.github.io

Version: v.2.0.0

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

Приложение написанное на Node.js используя веб-фреймворк express.js, база данных MongoDB в связке с mongoose, реализовано 11 роутов, а именно:

  • Регистрация;
  • Вход;
  • Получение данных пользователя;
  • Получение данных всех пользователей;
  • Обновление информации пользователя;
  • Обновление аватара пользователя;
  • Создание карточки;
  • Удаление карточки;
  • Лайк карточки;
  • Удаление лайка карточки;
  • Получение всех карточек;

Сервер расположен на виртуальной машине в облаке, используется менеджер процессов pm2, http-сервер nginx перенаправляющий запросы на нужные порты, расположенно на поддомене фронтенда, используется SSL-сертификат. Приложение осуществляет аутентификацию пользователя прежде чем допустить ко всем роутам кроме регистрация и входа, использует npm cors для отправки нужных заголовков доступным ресурсам(в доработке), также логгирует все запросы и запросы с возникновением ошибок отдельно с помощью npm logger, осуществляет валидацию полученных данных на уровне роута при помощи npm celebrate и базы данных встроенными возможностями mongoose, применяет npm multer для работы с файлами и хранит файлы в бинарном виде прямо в базе данных а не в отдельной директории на сервере, для работы с ошибками частично используется класс Error от которого наследуются классы возможно возникающих ошибок в этом приложении.

Используемые технологии: JS, Node.js, express, GIT, MongoDB, npm, mongoose, nginx, pm2.

Следующее обновление:

Структурировать код приложения окончательно, дописать все классы ошибок, донастроить cors, создать в базе данных новую модель документа администратора и API регистрации пользователей с правами администратора для возможности удаления чужих карточек.

Локальный запуск

  1. Склонировать репозиторий
  2. Доставить отсутствющие модули npm
        npm install
    
  3. Запустить локальный сервер
        npm run dev
    

About

Server for project 9 sprint

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published