Skip to content

s1ntecs/api_final_yatube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Python Django Django REST Framework

API YaTube

Бамая Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ вСрсия API YaTube.

YaTube API это RESTful API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ посты, ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΎΡ‚Π·Ρ‹Π²Π°ΠΌ. ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠ². Π’ основС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π»Π΅ΠΆΠ°Ρ‚ Django ΠΈ Django REST Framework.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ

  • ΠŸΠΈΡˆΠΈΡ‚Π΅ свои посты.
  • Авторизация происходит ΠΏΠΎ Ρ‚ΠΎΠΊΠ΅Π½Ρƒ.
  • Для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ присутствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ подписки Π½Π° Π°Π²Ρ‚ΠΎΡ€Π° поста.

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

  • Django - Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π΅Π±-сСрвисов.
  • Django REST Framework - Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠΉ возмоТности Django ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ быстро ΠΏΠΈΡΠ°Ρ‚ΡŒ RESTful API для Django-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ YaTube API это ПО с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ Π½Π° GitHub.

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π½Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:

git clone https://github.com/s1ntecs/api_final_yatube.git
cd api_final_yatube

CΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅:

python3 -m venv env
source env/bin/activate

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости ΠΈΠ· Ρ„Π°ΠΉΠ»Π° requirements.txt:

python3 -m pip install --upgrade pip
pip install -r requirements.txt

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ:

python3 manage.py migrate

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:

python3 manage.py runserver

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ API запросов: .../api/v1/posts/ .../api/v1/posts/{id}/ ==> PATCH, DELETE GET ΠžΡ‚Π²Π΅Ρ‚: { "id": 0, "author": "string", "text": "string", "pub_date": "2019-08-24T14:15:22Z", "image": "string", "group": 0 } POST: { "text": "string", "image": "string", "group": 0 } ΠžΡ‚Π²Π΅Ρ‚: { "id": 0, "author": "string", "text": "string", "pub_date": "2019-08-24T14:15:22Z", "image": "string", "group": 0 }

.../api/v1/posts/{post_id}/comments/ .../api/v1/posts/{post_id}/comments/{id}/ => PUT, PATCH. DELETE GET ΠžΡ‚Π²Π΅Ρ‚: [ { "id": 0, "author": "string", "text": "string", "created": "2019-08-24T14:15:22Z", "post": 0 } ] POST { "text": "string" } ΠžΡ‚Π²Π΅Ρ‚: [ { "id": 0, "author": "string", "text": "string", "created": "2019-08-24T14:15:22Z", "post": 0 } ]

.../api/v1/groups/ .../api/v1/groups/{id}/ GET ΠžΡ‚Π²Π΅Ρ‚: [ { "id": 0, "title": "string", "slug": "string", "description": "string" } ]

.../api/v1/follow/ GET ΠžΡ‚Π²Π΅Ρ‚: [ { "user": "string", "following": "string" } ] POST { "following": "string" } ΠžΡ‚Π²Π΅Ρ‚: { "user": "string", "following": "string" }

АутСнтификация производится ΠΏΠΎ JWT-Ρ‚ΠΎΠΊΠ΅Π½Ρƒ:

.../api/v1/jwt/refresh/ ОбновлСниС JWT-Ρ‚ΠΎΠΊΠ΅Π½Π°. .../api/v1/jwt/create/ Для ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ JWT-Ρ‚ΠΎΠΊΠ΅Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ POST запроса: { "username": "string", "password": "string" }

Бписок всСх энпоинтов ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ: https://djoser.readthedocs.io/en/latest/getting_started.html#available-endpoints

About

api final yatube

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published