Movies Explorer - это серверная часть приложения Movies Explorer, предоставляющая API для работы с пользователями и карточками. Реализованная на Node.js и MongoDB, она обеспечивает взаимодействие с базой данных и обработку запросов клиентской части приложения Movies Explorer.
- Movies Explorer (версия React)
- 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-адреса.
-
Клонируйте репозиторий:
git clone git@github.com:Dmitry145528/movies-explorer-api.git git clone https://github.com/Dmitry145528/movies-explorer-api.git
-
Перейдите в директорию проекта, выполнив команду:
cd movies-explorer-api
-
Установите все необходимые зависимости проекта, выполнив команду:
npm install
-
Создайте файл .env в корневой директории проекта и добавьте следующие переменные среды:
PORT=3000
MONGO_URL=mongodb://127.0.0.1:27017/bitfilmsdb
-
Вы можете запустить сервер:
npm run start
-
Вы можете запустить сервер с hot-reload:
npm run dev
Перед началом убедитесь, что у вас установлены:
✅ Завершено