Skip to content

sasha0090/Yamdb_API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

75 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ YamDB

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ позволяСт ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… произвСдСниях (Ρ„ΠΈΠ»ΡŒΠΌΡ‹, ΠΊΠ½ΠΈΠ³ΠΈ, ΠΌΡƒΠ·Ρ‹ΠΊΠΈ)

ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎ произвСдСниях.
ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ дСлятся Π½Π° ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, ΠΆΠ°Π½Ρ€Ρ‹.
Π£ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ доступа:
администратор, ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ‚ΠΎΡ€, Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΡŒ.

РСгистрация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ отправляСт запрос с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ email ΠΈ username Π½Π° /auth/email/.
  • YaMDB отправляСт письмо с ΠΊΠΎΠ΄ΠΎΠΌ подтвСрТдСния (confirmation_code) Π½Π° адрСс email .
  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ отправляСт запрос с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ email ΠΈ confirmation_code Π½Π° /auth/token/, Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅ Π½Π° запрос Π΅ΠΌΡƒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ token (JWT-Ρ‚ΠΎΠΊΠ΅Π½).

ΠžΡ‚Π·Ρ‹Π²Ρ‹ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ Π½ΠΈΠΌ

Π§Π΅Ρ€Π΅Π· эндпоинт /api/v1/titles/{title_id}/reviews/ ЗарСгистрированныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊ произвСдСниям ΠΎΡ‚Π·Ρ‹Π²Ρ‹ с ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ дСсяти. На ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚Π·Ρ‹Π². Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΡ†Π΅Π½ΠΎΠΊ формируСтся усрСднённая ΠΎΡ†Π΅Π½ΠΊΠ° произвСдСния. Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ всС посСтитСли.

Π§Π΅Ρ€Π΅Π· эндпоинт /api/v1/titles/{title_id}/reviews/{review_id}/comments/ ЗарСгистрированныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π° ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ всС посСтитСли.

Π‘ΠΎΠ»Π΅Π΅ подробная докумСнтация доступна ΠΏΠΎ эндопинту /redoc/

Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

  • ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ написан Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Django REST Framework
  • аутСнтификация Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Simple JWT.

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

β—Ύ ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π½Π΅Π³ΠΎ

β—Ύ УстановитС ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅

β—Ύ УстановитС зависимости ΠΈΠ· Ρ„Π°ΠΉΠ»Π° requirements.txt :

pip install -r requirements.txt

β—Ύ Π’ ΠΏΠ°ΠΏΠΊΠ΅ с Ρ„Π°ΠΉΠ»ΠΎΠΌ manage.py Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ:

python manage.py migrate

β—Ύ ЗапуститС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

python manage.py runserver

РаспрСдСлСниС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ЯндСкс ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ.

Π—Π°Π΄Π°Ρ‡ΠΈ Π±Ρ‹Π»ΠΈ распрСдСлСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • Антон ДСнисов β€” рСализация управлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ: систСма рСгистрации ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΏΡ€Π°Π²Π° доступа, Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ, систСму подтвСрТдСния Ρ‡Π΅Ρ€Π΅Π· e-mail.

  • АлСксандр Π’Π΅Π»Π΅ΠΏΠΈΠ½ β€” рСализация Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‚Π·Ρ‹Π²Π°ΠΌΠΈ, систСмой Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΎΠ² ΠΈ коммСнтариями: описаниС ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, прСдставлСния, настройка эндпойнтов ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² доступа для запросов.

  • АлСксандр Π”Π·ΡŽΠ±Π° β€” рСализация Ρ€Π°Π±ΠΎΡ‚Ρ‹ с произвСдСниями, катСгориями ΠΈ ΠΆΠ°Π½Ρ€Π°ΠΌΠΈ: описаниС ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, прСдставлСния ΠΈ настройка эндпойнтов ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π² доступа для запросов.

Releases

No releases published

Packages

No packages published