Skip to content

adjutantMary/NotesManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

README для API сСрвиса управлСния Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ

ОписаниС

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прСдставляСт собой RESTful API для сСрвиса управлСния Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ с использованиСм Django REST Framework (DRF). API ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ рСгистрации ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с использованиСм JWT Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания, получСния, рСдактирования ΠΈ удалСния Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ.

Установка

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования

  • Python 3.8 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  • pip
  • Django 3.2 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  • Django REST Framework
  • djangorestframework-simplejwt для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с JWT

Π¨Π°Π³ΠΈ ΠΏΠΎ установкС

  1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ: bash git clone https://github.com/ваш_Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.git cd ваш_Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅: python -m venv venv source venv/bin/activate # Для Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ venv/Scripts/activate

  3. УстановитС зависимости ΠΈΠ· requirements.txt: pip install -r requirements.txt

  4. НастройтС Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…:

    Π’ Ρ„Π°ΠΉΠ»Π΅ settings.py настройтС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ вашСй Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, PostgreSQL, SQLite ΠΈ Ρ‚.Π΄.). Π’Π°ΠΊ ΠΊΠ°ΠΊ основная конфигурация ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈΠ· .env, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° прСдставлСн Π² env_example.py

  5. ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ: python manage.py migrate

  6. ЗапуститС сСрвСр: python manage.py runserver

ИспользованиС API

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

POST /api/users/registration/

Π’Π΅Π»ΠΎ запроса: { "user": { "username": "user1", "email": "user1@user.user", "password": "qweasdzxc" } }

ΠžΡ‚Π²Π΅Ρ‚: { { "user": { "email": "user1@user.user", "username": "user1", "token": "eyJ0eXAiOiJKV...." } } }

Авторизация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

POST /api/users/login/

Π’Π΅Π»ΠΎ запроса: { "user": { "email": "email@email.email", "username": "admin", "password": "aasdasdasd" } }

ΠžΡ‚Π²Π΅Ρ‚: { "user": { "email": "email@email.email", "username": "admin", "token": "eyJ0eXAiOiJKV1Q...." } }

ОбновлСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅

PUT /api/user/update/

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ: Authorization: Token access_token

Π’Π΅Π»ΠΎ запроса: { "user": { "username": "Mash", "email": "mash@user.user", "password": "asdasda12sdadasd" } }

ΠžΡ‚Π²Π΅Ρ‚: { "user": { "email": "mash@user.user", "username": "Mash", "token": "eyJ0eXAiOiJK....." } }

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ

POST /api/notes/create/

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ: Authorization: Token access_token

Π’Π΅Π»ΠΎ запроса:

{ "title": "Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ", "content": "Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ" }

ΠžΡ‚Π²Π΅Ρ‚: { "id": 1, "title": "Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ", "content": "Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ", "created_at": "2023-01-01T00:00:00Z", "updated_at": "2023-01-01T00:00:00Z" }

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка Π·Π°ΠΌΠ΅Ρ‚ΠΎΠΊ

GET /api/notes/

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ: Authorization: Token access_token

[ { "id": 1, "title": "Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ", "content": "Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ", "created_at": "2023-01-01T00:00:00Z", "updated_at": "2023-01-01T00:00:00Z" } ]

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

PUT /api/notes/int:pk/

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ: Authorization: Token access_token

Π’Π΅Π»ΠΎ запроса:

{ "title": "ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ", "content": "ОбновлСнноС содСрТимоС" }

ΠžΡ‚Π²Π΅Ρ‚: { "id": 1, "title": "ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ", "content": "ОбновлСнноС содСрТимоС", "created_at": "2023-01-01T00:00:00Z", "updated_at": "2023-01-02T00:00:00Z" }

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ

DELETE /api/notes/int:pk/delete/

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ: Authorization: Token access_token

ΠžΡ‚Π²Π΅Ρ‚:

About

DRF API notes managing service + JWT auth

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages