Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/maratdev/express-mesto-gha

πŸ—ΊοΈ БэкСнд ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ с Ρ„ΠΎΡ‚ΠΎ ΠΈ описаниСм + авторизация
https://github.com/maratdev/express-mesto-gha

eslint express mongodb nodejs

Last synced: 13 days ago
JSON representation

πŸ—ΊοΈ БэкСнд ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ с Ρ„ΠΎΡ‚ΠΎ ΠΈ описаниСм + авторизация

Awesome Lists containing this project

README

        

# ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Mesto бэкСнд
_***Backend Ρ‡Π°ΡΡ‚ΡŒ сСрвиса, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Ρ„ΠΎΡ‚ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ.***_
[Live demo](https://voredev.nomoredomains.xyz/)

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

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

+ РСгистрация `POST: /signup`
+ Авторизация `POST: /signin`
+ ОбновлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ `PATCH: /users/me`
+ ОбновлСниС Π°Π²Π°Ρ‚Π°Ρ€Π° `PATCH: /users/me/avatar`
+ ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ `GET: /users`
+ ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎ ID `GET: /users/userID`
+ ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ `GET: /users/me`
+ ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка всСх ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ `GET: /cards`
+ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ `POST: /cards`
+ Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ `DELETE: /cards/cardID`
+ ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π»Π°ΠΉΠΊΠ° `PUT: /cards/cardID/likes`
+ БнятиС Π»Π°ΠΉΠΊΠ° `DELETE: /cards/cardID/likes`
+ Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок
+ Валидация входящих Π΄Π°Π½Π½Ρ‹Ρ…
+ Π—Π°Ρ‰ΠΈΡ‚Π° API Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ
------
### О Ρ‡Ρ‘ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚?

*Π”Π°Π½Π½ΠΎΠ΅ сСрвСрноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для храниния ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ с вэб-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Mesto.*

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

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

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

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

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

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

```bash
git clone https://github.com/maratdev/express-mesto-gha/
```