Giter Site home page Giter Site logo

movies-explorer-api's Introduction

Проект: movies-explorer-api

Серверная часть сервиса поиска фильмов по запросу на ресурсе Beat Film с возможностью сохранять понравившиеся фильмы в личном кабинете.

Адрес сервера: https://api.izhubrov-mov-explorer.nomoredomains.monster

Серверная часть проекта написана с помощью фреймворка Express для приложений Node.js и взаимодействующую с базой данных Mongo. Реализована возможность работы с фильмами и профилем пользователя, регистрации, логина и аутентификации пользователя с централизованной обработкой ошибок. Добавление фильмов в список понравившихся и удаление из списка.


Как использовать

Для начала

Установка

  • Установите необходимые зависимости из package.json (dependencies и devdependencies)
  • Установите Mongo database

Работа и запуск проекта из директории проекта

  • Для локального запуска введите команду npm run start (Развернется сервер по адресу http://localhost:3001).
  • Для запуска в режиме разработчика с горячим перезапуском введите команду npm run dev.
  • Тестирование запросов к базе данных можно осуществлять с помощью Postman (нужно выбрать тип запроса из нижеуказанного списка и указать адрес сервера http://localhost:3001 , эндпоинты выбрать из нижеуказанного списка для соответствующего запроса).

Требования к разработке серверной части

  • Создание сервера с помощью фреймворка Express по адресу http://localhost:3001

  • Создание NoSql базы данных карточек и пользователей по адресу mongodb://localhost:27017/

  • Обработка CORS

  • Логирование запросов и ошибок

  • Возможность обработки следующих запросов:

    POST /signup - регистрация пользователя

    POST /signin - вход пользователя

    POST /signout - выход пользователя


    GET /users/me - возвращает текущего пользователя

    POST /users — создаёт пользователя

    PATCH /users/me — обновляет профиль


    GET /movies — возвращает все сохраненные фильмы для текущего пользователя

    POST /movies — добавляет фильм в список понравившихся

    DELETE /movies/:movieId — удаляет фильм из списка понравившихся

  • Обрабатывать ошибки в запросах

  • Возвращать данные пользователю на front-end

  • Хешировать пароль пользователя

  • Сохранять токен пользователя в куки.

  • Ограничивать число запросов к серверу


Применяемые технологии программирования

  • Модули express, mongoose, route
  • Middlewares
  • Схемы и модели mongoose
  • Роуты и Контроллеры
  • Joi валидация
  • bcryptjs шифрование пароля хеш функцией с солью

Итог cерверной части

Реализована серверная часть сервиса поиска фильмов с возможностью обработки вышеуказанных Get, post, delete, patch запросов к базе данных Mongo. Реализована обработка ошибок в запросах. Реализовано шифрование пароля. Реализовано сохранение токена пользователя в куки браузера.

movies-explorer-api's People

Contributors

izhubrov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.