ΠΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΠΎΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π½Π° .NET Core: 🏋️♂️ Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΠΊ: β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ»ΡΠ³ΠΈ Ρ Π°Π²ΡΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΈ Ρ.Π΄.); β ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π·Π°Π»Π°, ΡΡΠ΅Π½Π΅ΡΠ° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈΡ
Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ; β Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ»ΡΠ³Π΅ ΠΈ Π·Π°Π»Ρ; β ΠΎΡΠΌΠ΅Π½Π° ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΠΊ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΈ Π΄Π΅ΡΠ°Π»Π΅ΠΉ, ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΠΉ. 🙋♀️ Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²: β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΈΡΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²; β Π°Π²ΡΠΎΠ³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΎΠΉ Π½Π° email; β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈΡΡΠΎΡΠΈΡ; β Π·Π°ΠΏΠΈΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΡ, ΠΎΡΠΌΠ΅Π½Π°, ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ. ⚙️ Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: β .NET Core 8 β Entity Framework Core β PostgreSQL β RabbitMQ β JWT (Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ) β Swagger (Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ) 🧱 ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ: β ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΠΈ (CRM, Identity ΠΈ Π΄Ρ.); β Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎ organizationId (ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ); β Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· API ΠΏΠΎ appsettings; β Repository pattern, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ, XML-ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. 📡 API ΠΌΠ΅ΡΠΎΠ΄Ρ (ΠΏΡΠΈΠΌΠ΅ΡΡ): β POST /api/crm/Training β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ β GET /api/crm/Client/{id} β ΠΈΠ½ΡΠΎ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ β POST /api/crm/Training/{id}/participants β Π·Π°ΠΏΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎ Swagger ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΡ).