Skip to content
/ kiss_me Public

πŸ‘₯ REST API сСрвиса знакомств

License

Notifications You must be signed in to change notification settings

Ecmek/kiss_me

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Kiss Me

REST API - для сСрвиса знакомств.

ОписаниС

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠΌ ΡΠΈΠΌΠΏΠ°Ρ‚ΠΈΡŽ. ΠŸΡ€ΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΉ симпатии участники ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΎΠ± этом ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ.

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

Python, Django, DRF, DRF-Simple JWT, Django-filter, requests, beautifulsoup

Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² dev-Ρ€Π΅ΠΆΠΈΠΌΠ΅

  • ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π½Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:
  • УстановитС ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅:
python3 -m venv venv

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ linux/Mac:
source venv/bin/activate

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Windows:
source venv/Scripts/activate

python -m pip install --upgrade pip
  • УстановитС зависимости ΠΈΠ· Ρ„Π°ΠΉΠ»Π° requirements.txt
pip install -r requirements.txt
  • ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с Ρ„Π°ΠΉΠ»ΠΎΠΌ manage.py Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ:
python manage.py migrate

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ супСр-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

python manage.py createsuperuser

Π‘ΠΎΠ±Π΅Ρ€ΠΈΡ‚Π΅ статику:

python manage.py collectstatic

ВСстовыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ:

python manage.py load_users

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

python manage.py runserver

Parser bs4

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ присутствуСт парсСр для сайта https://www.citilink.ru (НазваниС Ρ‚ΠΎΠ²Π°Ρ€Π°, Ρ†Π΅Π½Π° Ρ‚ΠΎΠ²Π°Ρ€Π°, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ 3 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. url_category, title_category, slug_category

python manage.py https://www.citilink.ru/catalog/setevye-hranilischa-nas/ 'Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° NAS' setevye-hranilischa-nas

ПослС этой ΠΊΠΎΠΌΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ создана катСгория 'Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° NAS' со слагом 'setevye-hranilischa-nas' ΠΈ Π² Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚.

api/products/setevye-hranilischa-nas/

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ REST API

Доступны всСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

api/clients/create/ - созданиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ,

Доступ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

api/clients/token/ - ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½,
api/clients/token/refresh/ - ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π°,
api/list/ - просмотр Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ,
api/clients/{user_id}/match/ - ΠΎΡ†Π΅Π½ΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
api/clients/get_geolocation/ - опрСдСляСт Π³Π΅ΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎ IP,
api/clients/set_geolocation/ - ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Π³Π΅ΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΡŽ,

Π’Π°ΠΊ ΠΆΠ΅ Π² сСрвисС Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ.

api/category/ - всС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ
api/products/{category_slug}/ - Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ

Π’Π°ΠΊ ΠΆΠ΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ присутсвуСт пагинация(LimitOffsetPagination), поиск, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΈ сортировка, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½ΠΈΠΆΠ΅

api/list/?limit=10&offset=0 - ΠŸΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΡ
api/list/?search=your_search - Поиск ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
api/list/?ordering=first_name - сортировка ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ(Π°Π»Ρ„ΠΎΠ²ΠΈΡ‚Π½Ρ‹ΠΉ порядок)
api/list/?gender=F - Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ»Ρƒ
api/list/?min_distance - минимальная ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ поиска(ΠΊΠΌ)
api/list/?max_distance - максмальная ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ(ΠΊΠΌ)

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

api/clients/create/
{
	"emal": "your_email",
	"password": "your_password",
	"first_name": "first_name",
	"last_name": "last_name",
	"gender": "M" or "F"
}

Доступ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ доступСн ΠΏΠΎ jwt-Ρ‚ΠΎΠΊΠ΅Π½Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² POST запрос ΠΏΠΎ адрСсу:

api/clients/token/

ΠŸΠ΅Ρ€Π΅Π΄Π°Π² Π² body Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

{
	"email": "your_email",
	"password": "your_password"
}

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² Ρ‚ΠΎΠΊΠ΅Π½ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² headers, послС этого Π²Π°ΠΌ Π±ΡƒΠ΄Ρƒ доступны всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

Authorization: Bearer {your_token}

Авторы

GerG

About

πŸ‘₯ REST API сСрвиса знакомств

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages