Skip to content

Movies Explorer - это серверная часть приложения Movies Explorer, предоставляющая API для работы с пользователями и карточками. Реализованная на Node.js и MongoDB, она обеспечивает взаимодействие с базой данных и обработку запросов клиентской части приложения Movies Explorer.

Notifications You must be signed in to change notification settings

Dmitry145528/movies-explorer-api

Repository files navigation

Дипломный проект: Movies Explorer бэкенд.

Movies Explorer - это серверная часть приложения Movies Explorer, предоставляющая API для работы с пользователями и карточками. Реализованная на Node.js и MongoDB, она обеспечивает взаимодействие с базой данных и обработку запросов клиентской части приложения Movies Explorer.

Структура проекта:

Что сделал:

  • Реализовал на Node.js и Express.js, сервер обрабатывает запросы, взаимодействует с базой данных MongoDB и обрабатывает ошибки.

  • Настроил использование cookie для хранения сессионных данных пользователей, обеспечивая безопасность и аутентификацию.

Реализованный функционал:

  • Реализованы роуты и контроллеры для работы с пользователями (регистрация, авторизация, получение информации о текущем пользователе, обновление данных пользователя).

  • Реализована аутентификация с использованием JWT (JSON Web Token) для безопасной передачи информации между клиентом и сервером.

  • Реализованы роуты и контроллеры для работы с карточками (добавление, получение, удаление карточек).

  • Реализованы мидлвары для обработки запросов, аутентификации и обработки ошибок.

  • Взаимодействие с базой данных MongoDB для сохранения пользовательских данных и фильмов.

Технологии:

  • Node.js: Среда выполнения JavaScript, используемая для разработки серверной части приложения.
  • Express.js: Веб-фреймворк для Node.js, облегчающий создание API и обработку HTTP-запросов.
  • MongoDB: Документоориентированная NoSQL база данных, используемая для хранения пользовательских данных и информации о фильмах.
  • Mongoose: ODM (Object Data Modeling) библиотека для работы с MongoDB, обеспечивающая структурированный доступ к данным.
  • JWT (JSON Web Token): Стандарт авторизации для безопасной передачи информации между клиентом и сервером.
  • Cors (Cross-Origin Resource Sharing): Механизм, позволяющий веб-страницам получать доступ к ресурсам с других источников в интернете.
  • Helmet: Промежуточное ПО для Express, обеспечивающее базовую защиту от некоторых известных уязвимостей HTTP-заголовков.
  • Celebrate: Библиотека для валидации и санации данных запроса на основе схемы с использованием Joi.
  • Rate Limiter: Промежуточное ПО для Express, ограничивающее количество запросов с одного IP-адреса.

Инструкция по запуску:

  1. Клонируйте репозиторий:

    git clone git@github.com:Dmitry145528/movies-explorer-api.git
    git clone https://github.com/Dmitry145528/movies-explorer-api.git
    
  2. Перейдите в директорию проекта, выполнив команду:

    cd movies-explorer-api

  3. Установите все необходимые зависимости проекта, выполнив команду:

    npm install

  4. Создайте файл .env в корневой директории проекта и добавьте следующие переменные среды:

    PORT=3000

    MONGO_URL=mongodb://127.0.0.1:27017/bitfilmsdb

  5. Вы можете запустить сервер:

    npm run start

  6. Вы можете запустить сервер с hot-reload:

    npm run dev

Требования

Перед началом убедитесь, что у вас установлены:

Статус разработки:

Завершено

About

Movies Explorer - это серверная часть приложения Movies Explorer, предоставляющая API для работы с пользователями и карточками. Реализованная на Node.js и MongoDB, она обеспечивает взаимодействие с базой данных и обработку запросов клиентской части приложения Movies Explorer.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published