https://github.com/MaxRMNK/movies-explorer-api
Бэкенд приложения написанного в качестве Дипломного проекта на курсе ЯндексПрактикум «Веб-разработчик».
IP 84.201.135.155
Backend https://api.diplom.maxrmnk.nomoredomains.xyz
- JavaScript ES6
- Node.js v.20.11.1
- Express.js v.4.18.2
- NPM v.10.2.4
- MongoDB v.4.4.22
- Авторизация с использованием JWT
- 3 уровня валидации:
- на уровне роутов с помощью модуля
celebrate
- на уровне контроллеров собственные проверки
- на уровне схем с помощью модуля
validator
- на уровне роутов с помощью модуля
- Кастомизированная обработка ошибок, и стандартных, и полученных полученных от модуля
celebrate
- Логгирование запросов с помощью библиотеки
winston
и мидлвэрexpress-winston
- Ограничение лимита запросов с помощью модуля
express-rate-limit
- Настроены заголовки ответа приложения с помощью модуля
helmet
- Ограничение кросс-доменных запросов с помощью модуля
cors
/routes
— Файлы роутера/controllers
— Файлы контроллеров пользователя и карточки/models
— Файлы описания Схем пользователя и карточки/middlewares
— Промежуточные миддлвэры/utils
— Вспомогательные файлы
POST /signup
— Регистрация (name, email, password)POST /signin
— Авторизация (email, password)
GET /users/me
— Получить данные текущего пользователяPATCH /users/me
— Изменить данные текущего пользователя (name, email)GET /users
— Получить список всех пользователей
GET /movies
— Получить фильмов добавленных в закладки текущим пользователемPOST /movies
— Добавить фильм в закладки (country, director, duration, year, description, image, trailer, nameRU, nameEN, thumbnail, movieId)DELETE /movies/:bookmarkId
— Удалить фильм из закладок по ID
Для того чтобы фронтенд и бэкенд могли работать одновременно на локальном сервере бэкенд-часть приложения запускается на порту 3001, а фронтенд на 3000.
- Склонировать проект, перейти в папку
/movies-explorer-api
git clone [email protected]:MaxRMNK/movies-explorer-api.git cd movies-explorer-api/
- Проверить версии устновленных MongoDB, Node.js и библиотеки пакетов NPM
mongod -version # проверка версии MongoDB node -v # проверка версии Node.js npm -v # проверка версии NPM
- Установить проект и его зависимости
npm install
- Запуск сервера в режиме разработки, с hot-reload
npm run dev
- Запуск сервера
npm run start # или `npm start` # или `node app.js`
После запуска приложение доступно на адресе localhost:3001
.
Ctrl + C
- остановка сервера
# .env
NODE_ENV=production
PORT_ENV=3001
SECRET_KEY_ENV=0uazgLqewAIjDY5Qnt9sgmY0tuX3d2jQzqsA
MONGO_DB_ENV=mongodb://localhost:27017/bitfilmsdb # localhost
- Возможно в Схеме пользователя нужно добавлять ссылки на фильмы в закладках - в ТЗ об этом ничего не было, но кажется, это было бы правильным решением.