ΠΠ΅ΠΊΠ΅Π½Π΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ RESTful API Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ Π΄Π»Ρ ΡΠ΄Π°ΡΠΈ ΡΠ°Π±ΠΎΡ, ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ², ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΏΡΠΎΡΠΎΠ² Π²Π½ΡΡΡΠΈ Π³ΡΡΠΏΠΏΡ. ΠΠ°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Python + Django REST Framework. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅ΡΠΊΠΈΡ ΡΠΎΠ»Π΅ΠΉ. ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ JWT ΡΠΎΠΊΠ΅Π½ΠΎΠ². ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ CI/CD workflows Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ Docker ΠΈ Nginx.
Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ Π±ΠΎΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Go + Telebot Π΄Π΅Π»Π°ΡΡΠΈΠΉ ΠΏΠ°ΡΡΠΈΠ½Π³ ΡΠ°ΠΉΡΠ° Π² ΠΌΠ°ΡΡΠΈΠ² Π²ΡΠ΅ΠΌΠ΅Π½ Π½Π° ΡΠ΅ΠΊΡΡΡΡ Π΄Π°ΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΠ· Π±Π΅Π»ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ gocron. Π§Π΅ΡΠ΅Π· Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ Ρ Middleware ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΡΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ· Π±Π΅Π»ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° (Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»), Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ (Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±ΠΎΡΠ°), ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ - ΡΠ΅, ΠΊΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΌΠΎΠ³ΡΡ Π½Π°ΠΉΡΠΈ Π±ΠΎΡΠ°, Π½ΠΎ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ Π½ΠΈΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ.
In progress.
ΠΠΌΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ-ΠΏΠ΅ΡΠ΅ΠΎΡΠΌΡΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΡΠ·ΡΠΊΠ΅ Go. ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° SQLX Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Gin Π½Π° ΡΡΠΎΠ²Π½Π΅ Transport/REST Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ http Π·Π°ΠΏΡΠΎΡΠΎΠ². Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ»ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ DTO Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ. ΠΠ½Π΅Π΄ΡΠ΅Π½Π° swagger-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ RPS Π½Π° GET Π·Π°ΠΏΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ InMemoryCache ΠΊΠ°ΠΊ gin-middleware.
ΠΠΎΠ»ΡΡΠ΅ Π΄Π΅ΡΠ°Π»Π΅ΠΉ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.