Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rastereo/movies-explorer-api
Дипломная работа Movies Explorer REST API
https://github.com/rastereo/movies-explorer-api
express mongodb mongoose nodejs
Last synced: 1 day ago
JSON representation
Дипломная работа Movies Explorer REST API
- Host: GitHub
- URL: https://github.com/rastereo/movies-explorer-api
- Owner: rastereo
- Created: 2023-07-18T16:42:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-17T02:09:40.000Z (over 1 year ago)
- Last Synced: 2023-08-17T03:44:44.489Z (over 1 year ago)
- Topics: express, mongodb, mongoose, nodejs
- Language: JavaScript
- Homepage: https://api.rastereo.diplom.nomoredomains.xyz
- Size: 90.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# movies-explorer-api
Дипломная работа Movies Explorer REST API. Сервис, в котором можно найти фильмы по запросу и сохранить в личном кабинете.
## 🛠️Технологии:
+ [NodeJS](https://nodejs.org)
+ [Express](https://expressjs.com)
+ [MongoDB](https://www.mongodb.com/)
+ [Mongoose](https://mongoosejs.com/)
+ [ESLint](https://eslint.org/)
+ [Celebrate](https://github.com/arb/celebrate)
+ [Bcrypt.js](https://github.com/dcodeIO/bcrypt.js)
+ [Cookie-parser](https://github.com/expressjs/cookie-parser)
+ [Cors](https://github.com/expressjs/cors)
+ [Dotenv](https://github.com/motdotla/dotenv)
+ [Helmet](https://github.com/helmetjs/helmet)
+ [Node-jsonwebtoken](https://github.com/auth0/node-jsonwebtoken)
+ [Validator.js](https://github.com/validatorjs/validator.js)
+ [Winston](https://github.com/winstonjs/winston)
+ [Nodemon](https://github.com/remy/nodemon)## 🤖Функциональность проекта:
+ Регистрация
+ Авторизация
+ Обновление данных пользователя
+ Получение информации о текущем пользователе
+ Получение списка фильмов пользователя
+ Создание фильма
+ Удаление фильма
+ Центральная обработка ошибок
+ Валидация входящих данных
+ Обработка и отправка куки
+ Хранение паролей в зашифрованном виде
+ Логирование ошибок и запросов на сервер в формате JSON
+ Поддержка работы с доступом по https
+ Конфигурация и константы приложения в отдельных файлах
+ Ограничение числа запросов с одного IP## 📂Директории:
`/routes` — папка с файлами роутера
`/controllers` — папка с файлами контроллеров пользователя и карточки фильмов
`/models` — папка с файлами описания схем пользователя и карточки
Остальные директории вспомогательные.## 🔗Роуты:
+ `POST /signup` — создаёт пользователя с переданными в теле email, password и name
+ `POST /signin` — проверяет переданные в теле почту и пароль и возвращает куки JWT
+ `GET /signout` — удаляет JWT из куки+ `GET /users/me` — возвращает информацию о пользователе (email и имя)
+ `PATCH /users/me` — обновляет информацию о пользователе+ `GET /movies` — возвращает все сохранённые текущим пользователем фильмы
+ `POST /movies` — создаёт фильм с переданными в теле country, director, duration, year, description, image, trailer, nameRU, nameEN и thumbnail, movieId, owner
+ `DELETE /movies/_id` — удаляет сохранённый фильм по id## 📋Инструкция по запуску проекта:
1. Склонируйте репозиторий на свой компьютер:
```bash
git clone [email protected]:rastereo/movies-explorer-api.git
```
2. Установите зависимости
```bash
npm install
```
3. Запустите mongodDB
```bash
npm mongod
```
4. Запускает сервер
```bash
npm run start
```
Запускает сервер с hot-reload.
```bash
npm run dev
```## 🌐Ссылки
+ Публичный IPv4: 158.160.114.107
+ Домен сервера: https://api.rastereo.diplom.nomoredomains.xyz
+ Cайт: https://rastereo.diplom.nomoredomains.xyz
+ Github репозиторий: https://github.com/rastereo/movies-explorer-api
+ Критерии диплома веб-разработчика: https://code.s3.yandex.net/web-developer/static/new-program/web-diploma-criteria-2.0/index.html