Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maratdev/movies-explorer-api

🧭 БэкСнд с Π‘Π” Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ²
https://github.com/maratdev/movies-explorer-api

eslint express jwt mongodb mongoose node

Last synced: 13 days ago
JSON representation

🧭 БэкСнд с Π‘Π” Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ²

Awesome Lists containing this project

README

        

# Backend прилоТСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Movies-explorer

_***ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ прСдставляСт ΠΈΠ· сСбя API для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:***_ [Movies Explorer](https://github.com/maratdev/movies-explorer-frontend)

## Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:
Express
Node.js
Mongoose
MongoDB
Postman
Eslint
jwt

### Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»:

+ РСгистрация `POST /signup`
+ Авторизация `POST /signin`
+ ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ `GET /users/me`
+ ОбновлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ `PATCH /users/me`
+ ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ² `GET /movies`
+ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΠΌΠ° `POST /movies`
+ Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΠΌΠ° `DELETE /movies/_id`
+ Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок `winston`
+ Валидация входящих Π΄Π°Π½Π½Ρ‹Ρ… `celebrate`
+ Π—Π°Ρ‰ΠΈΡ‚ΠΈΡ‚Π° API Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ
+ ODM Mongoose
+ Π‘Π” MongoDB
------
### О Ρ‡Ρ‘ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚?

*БСрвис, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ„ΠΈΠ»ΡŒΠΌΡ‹ ΠΏΠΎ запросу ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π΅.*

* Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Ρ€Π΅Π³Π΅ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π·Π°Π»ΠΎΠ³ΠΈΠ½ΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΡ‡Ρ‚Ρ‹ ΠΈ пароля. Π’ΠΎΠΊΠ΅Π½ для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ хранится 7 Π΄Π½Π΅ΠΉ.
* Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΅ΡΡ‚ΡŒ поля name, email, password. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ рСгистрации.
* Поля name, email ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ послС рСгистрации.
* МоТно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ Ρ„ΠΈΠ»ΡŒΠΌΠ°. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ°Ρ‚ΠΎΡ‡ΠΊΠΈ Π΅ΡΡ‚ΡŒ Π΅ΡΡ‚ΡŒ поля director, trailerLink (ссылка Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ), owner (id создатСля ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ), createdAt (Π΄Π°Ρ‚Π° создания ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ) ΠΈ массив likes (Π»Π°ΠΉΠΊΠΎΠ² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ).
* ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π»Π°ΠΉΠΊΠ°Ρ‚ΡŒ.
* Поля Π²Π°Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ссылки ΠΈΠ»ΠΈ email).
* НастроСна инфраструктура ΠΈ создан сСрвСр Π½Π° express
------
### Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

`/routes` β€” ΠΏΠ°ΠΏΠΊΠ° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°
`/controllers` β€” ΠΏΠ°ΠΏΠΊΠ° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Ρ„ΠΈΠ»ΡŒΠΌΠ°
`/models` β€” ΠΏΠ°ΠΏΠΊΠ° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ описания схСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Ρ„ΠΈΠ»ΡŒΠΌΠ°

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ нСобходимости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ

### Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

`npm run start` β€” запускаСт сСрвСр
`npm run dev` β€” запускаСт сСрвСр с hot-reload

### Бсылки Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

IP 5.35.84.174
Frontend explorer-movies.ru

Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

```bash
git clone https://github.com/maratdev/movies-explorer-api
```