YANDEX & PROSEPT HACKATHON: Π‘Π΅ΡΠ²ΠΈΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΡΠΎΡΠ΅ΠΏΡ ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ Π΄ΠΈΠ»Π΅ΡΠΎΠ². ΠΠΎΠΌΠ°Π½Π΄Π° 2.
http://81.31.246.5/
http://81.31.246.5/backup/ - ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π½Π° Django-templates, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠΎΠ½ΡΠ΅Π½Π΄
Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ±Π½ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠ΄Π° Π½Π° ΡΠ°ΠΉΡ ΠΈ Π² Π°Π΄ΠΌΠΈΠ½-ΠΏΠ°Π½Π΅Π»Ρ
email: admin@admin.admin
password: Password-123
ΠΠ°ΠΊΠ°Π·ΡΠΈΠΊ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» ΡΠ°ΠΉΠ»Ρ csv: ΡΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΎΠΈΡ
ΡΠΎΠ²Π°ΡΠΎΠ², ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΈΠ»Π΅ΡΠΎΠ² ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠΈΠ½Π³Π° ΡΠ°ΠΉΡΠΎΠ² Π΄ΠΈΠ»Π΅ΡΠΎΠ² Ρ ΡΠ΅Π½Π°ΠΌΠΈ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°:
ΠΠ°ΠΊΠ°Π·ΡΠΈΠΊΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π½Ρ Π½Π° ΡΠ²ΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ°Ρ
Π΄ΠΈΠ»Π΅ΡΠΎΠ², Π½ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ°Ρ
Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π»ΡΠ½ΡΡ
, ΠΈ ΠΈΡ
ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΡΡΡΠ½ΡΡ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΎ. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠ΄Π±ΠΎΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² - Π²ΡΠ²ΠΎΠ΄ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΠΎΡΡΠ½ΡΡ
ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΡ
Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
ΠΡΠΊΠ΅Π½Π΄ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π΄Π°Π½Π½ΡΡ
ΡΠ΅Π½; ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°Ρ ΠΊΠ»ΡΡ(Π°ΡΡΠΈΠΊΡΠ»)-Π΄ΠΈΠ»Π΅Ρ; ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π΅ΡΡΡ Π»ΠΈ ΡΠΆΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΠ²Π°ΡΡ; ΠΊΠ»ΡΡΠΈ Π±Π΅Π· ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π² ML-ΡΠ΅ΡΠ²ΠΈΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠΏ-10 Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΠΎΡΡΠ½ΡΡ
ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΈΡ
ΠΏΠΎ Π°ΡΡΠΈΠΊΡΠ»Ρ/Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠ°ΡΡΡΡ ΠΈ Π΄ΠΈΠ»Π΅ΡΡ; ΠΎΡΠΊΡΡΡΡ Π½ΡΠΆΠ½ΡΠΉ ΠΊΠ»ΡΡ, Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΉ ΡΠΎΠ²Π°Ρ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΡΠ·Ρ ΠΊΠ»ΡΡ-ΡΠΎΠ²Π°Ρ, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ Π²ΡΠ΅ ΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π½Π΅ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠ΅.
ΠΠΎΡΡΡΠΏΠ΅Π½ ΠΎΡΡΠ΅Ρ Π² ΡΠ°Π·ΡΠ΅Π·Π΅ Π΄ΠΈΠ»Π΅ΡΠΎΠ² ΡΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅Π½, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ, Ρ ΠΊΠΎΠ»-Π²ΠΎΠΌ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΈΠ½ΡΡΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (ΠΏΠΎΠ΄ΠΎΡΠ»ΠΎ/Π½Π΅ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΎ).
API ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ³ΡΡΠ·ΠΈΡΡ Π²ΡΠ΅ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡ-ΡΠΎΠ²Π°Ρ Ρ ΠΎΠΏΡΠΈΡΠΌΠΈ "Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅"/"Π·Π° ΠΏΠ΅ΡΠΈΠΎΠ΄"/"Π² Π΄Π°ΡΡ".
Π€ΠΎΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡ
https://github.com/hackathone-prosept-team2/frontend
https://github.com/hackathone-prosept-team2/data-science
DS-ΡΠ΅ΡΠ²ΠΈΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ (ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ Π±ΡΠΊΠ΅Π½Π΄-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ):
email: admin@admin.admin
password: Password-123
http://81.31.246.5/api/schema/swagger/#
ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· headers:
Authorization: Token <access-token>
ΠΠ΅ΡΠΎΠ΄ | Endpoint | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|---|
POST | /api/v1/auth/token/login/ | ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π²Ρ ΠΎΠ΄) |
POST | /api/v1/auth/token/login/ | Π£Π½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅Π½Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π²ΡΡ ΠΎΠ΄) |
GET | /api/v1/users/ | ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ |
POST | /api/v1/users/ | Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ |
GET | /api/v1/users/{id}/ | ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ Ρ id {id} |
GET | /api/v1/users/me/ | ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ |
GET | /api/v1/attributes/ | ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ-Π°ΡΡΠΈΠ±ΡΡΠΎΠ² |
GET | /api/v1/dealers/ | ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° Π΄ΠΈΠ»Π΅ΡΠΎΠ² |
GET | /api/v1/dealers/{id}/ | ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π΄ΠΈΠ»Π΅ΡΠ΅ Ρ id {id} |
GET | /api/v1/dealers/report/ | ΠΡΡΠ΅Ρ ΠΏΠΎ Π΄ΠΈΠ»Π΅ΡΠ°ΠΌ ΠΈ ΠΈΡ ΠΊΠ»ΡΡΠ°ΠΌ |
GET | /api/v1/keys/ | Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄ΠΈΠ»Π΅ΡΠΎΠ² Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ |
GET | /api/v1/keys/{id}/ | ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»ΡΡΠ΅ Π΄ΠΈΠ»Π΅ΡΠ° Ρ id {id} |
GET | /api/v1/keys/{id}/matches/ | Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΊ ΡΡΠΎΠΌΡ ΠΊΠ»ΡΡΡ |
POST | /api/v1/keys/{id}/choose_match/ | ΠΡΠ±ΠΎΡ 1 ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΠΊΠ»ΡΡΠ΅ΠΌ Π΄ΠΈΠ»Π΅ΡΠ° |
POST | /api/v1/keys/{id}/decline_matches/ | ΠΠΎΠΌΠ΅ΡΠΊΠ° Π²ΡΠ΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΊΠ°ΠΊ Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ |
GET | /api/v1/keys/{id}/prices/ | Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅Π½ ΠΊ ΠΊΠ»ΡΡΡ Π΄ΠΈΠ»Π΅ΡΠ° |
GET | /api/v1/keys/export/ | ΠΡΠ³ΡΡΠ·ΠΊΠ° ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Ρ ΡΠΈΠ»ΡΡΡΠΎΠΌ ΠΏΠΎ Π½ΠΎΠ²ΡΠΌ/Π΄Π°ΡΠ΅/ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ |
POST | /api/v1/prices/ | ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ΅Π½ ΠΈΠ· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΡΠΎΡΠ΅ΠΏΡ ΡΠ°ΠΉΠ»Π° ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π±ΠΎΡΠ° |
DELETE | /api/v1/prices/ | Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π²ΡΠ΅Ρ ΡΠ΅Π½, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ²ΡΠ·Π΅ΠΉ |
GET | /api/v1/products/ | Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ |
GET | /api/v1/products/{id}/ | ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ id {id} |
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» .env - Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°; ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² .env.example (ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π² .env).
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΠΏΠ°ΠΏΠΊΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ (Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ .env Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΠ°ΠΏΠΊΠΈ /deploy)
git clone git@github.com:hackathone-prosept-team2/backend_django.git
ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠΊΡ deploy ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
cd backend_django/deploy
docker compose up -d --build
Π‘Π°ΠΉΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://127.0.0.1/
Π Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΡΠΆΠ΅ Π΅ΡΡΡ Π‘ΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ Π² .env Π΄Π°Π½Π½ΡΠΌΠΈ (ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΡΠ΅) ΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ ΡΠ°ΠΉΠ»Ρ:
marketing_dealer
marketing_product
marketing_productdealerkey
ΠΠΈΠΊΡΠΎΡΠΈΡ ΠΡΠ΄ΡΠΎΠ²Π°
ΠΠ°ΠΊΡΠΈΠΌ Π’Π°Π»Π°Π½ΠΎΠ²
ΠΠΈΠ½Π΄Π° Π‘ΡΡ
ΠΎΠ²Π΅Π½ΠΊΠΎ
ΠΠΈΡΠΈΠ»Π» Π¨ΡΠ»Π΅Π²
ΠΠ°Π²Π΅Π» ΠΠ°ΡΠΊΠΎΠ²