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

https://github.com/meteopavel/api_yatube

πŸ“πŸ’¬ API_YaTube β€” это API для управлСния публикациями ΠΈ коммСнтариями. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ Π² Π³Ρ€ΡƒΠΏΠΏΡ‹ πŸ‘₯, ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π° πŸ”— ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ интСрфСйс πŸ”’πŸŒ
https://github.com/meteopavel/api_yatube

django-rest-framework django3 pyjwt pytest python requests

Last synced: about 1 year ago
JSON representation

πŸ“πŸ’¬ API_YaTube β€” это API для управлСния публикациями ΠΈ коммСнтариями. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ Π² Π³Ρ€ΡƒΠΏΠΏΡ‹ πŸ‘₯, ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π° πŸ”— ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ интСрфСйс πŸ”’πŸŒ

Awesome Lists containing this project

README

          

# ОписаниС API_YaTube
ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ прСдставляСт собой api для управлСния публикациями. ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.
ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ Π² Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°.
Авторизация Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° jwt-Ρ‚ΠΎΠΊΠ΅Π½Π΅.

# Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π½Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:
```
git clone git@github.com:meteopavel/api_final_yatube.git
cd yatube_api
```
CΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅:
```
python3 -m venv venv
linux: source env/bin/activate
windows: source venv/Scripts/activate
```
Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости ΠΈΠ· Ρ„Π°ΠΉΠ»Π° requirements.txt:
```
python3 -m pip install --upgrade pip
pip install -r requirements.txt
```
Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ:
```
python3 manage.py migrate
```
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚:
```
python3 manage.py runserver
```
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹
ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ:
```
GET /api/v1/posts/
```

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ:
```
POST /api/v1/posts/
{
"text": "string",
"image": "string",
"group": 0
}
```

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²:
```
GET /api/v1/posts/{post_id}/comments/
```

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ коммСнтария:
```
POST /api/v1/posts/{post_id}/comments/
{
"text": "string"
}
```

Подписки:
```
GET /api/v1/follow/
```

Подписка:
```
POST /api/v1/follow/
{
"following": "string"
}
```
# ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ инструмСнты
* Python 3.9.10
* Django 3.2.16
* djangorestframework 3.12.4
* pytest 6.2.4
* PyJWT 2.1.0
* requests 2.26.0