«Movies-explorer»
— завершающий дипломный проект на платформе Яндекс.Практикум. Проект представляет собой сервис поиска и сохранения фильмов по ключевым словам.
🔗 Запуск
- Все маршруты объединены в отдельную папку /routes.
- Работа с базой данных/дефолтная валидация схем, с помощью библиотеки
Mongoose
. - Валидация маршрутов библиотекой
celebrate
; Валидация email, в схеме пользователя, библиотекойvalidator
. - Хранение пароля пользователя в виде хэша с солью, с помощью
bcryptjs
. - Маршруты, требующие входа, защищены мидлвэром авторизации, базируется на
jsonwebtoken
. - Обработка CORS через мидлвэр.
- Логирование запросов и ошибок, с помощью
winston
иexpress-winston
. - Ограничение количества запросов мидлвэром
express-rate-limit
. - Безопасные заголовки HTTP модулем
helmet
. - Автоматический перезапуск приложения утилитой
nodemon
, при изменении файлов проекта.
Yandex.Cloud
— Виртуальная машина.Ubuntu
— ОС.pm2
— Менеджер процессов на сервере.LetsencryptSSL
— Сертификаты от Letsencrypt.Mongoose
— Библиотека для работы с БД.ESlint
— Библиотека-линтер, анализирует код на ошибки.
Папка | Описание |
---|---|
/controllers |
контроллеры пользователя и фильма. |
/errors |
кастомные ошибки. |
/middlewares |
функции промежуточной обработки. |
/models |
описания схем пользователя и фильма. |
/routes |
файлы с маршрутами приложения. |
"bcrypt": "^5.1.0",
"celebrate": "^15.0.1",
"dotenv": "^16.0.3",
"express": "^4.18.2",
"express-rate-limit": "^6.7.0",
"express-winston": "^4.2.0",
"helmet": "^6.1.5",
"jsonwebtoken": "^9.0.0",
"mongoose": "^7.0.3",
"validator": "^13.9.0",
"winston": "^3.8.2"
"devDependencies":
"eslint": "^8.38.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.27.5",
"nodemon": "^2.0.22"
Примечание: для корректной работы, потребуется заменить все запросы к API на localhost.
Команда | Описание |
---|---|
git clone https://github.com/KindofShuga/movies-explorer-api.git |
клонировать репозиторий |
npm install |
установка зависимостей |
npm run dev |
запуск сервера (порт 3000) |
Команда | Описание |
---|---|
git clone https://github.com/KindofShuga/movies-explorer-frontend.git |
клонировать репозиторий |
npm install |
установка зависимостей |
npm run build |
собрать проект |
npm run start |
запуск проекта |
-
Проект:
- Домен бэкенда — https://api.movies-explorer.alina.nomoredomains.monster
- Домен фронтенда — https://movies-explorer.alinat.nomoredomains.monster
- Домен со сторонним API фильмов — https://api.nomoreparties.co/beatfilm-movies
- Публичный IP адрес — 51.250.109.233
-
Материалы Яндекса: