Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β ΡΠ΄Π°Π»ΡΠ½Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π² ΠΠΎΡΠΊΠ²Π΅
ΠΠ°ΡΠ°: 2025-04-17
ΠΠ΅ΡΠ°Π»ΠΈ
Π Π΅Π³ΠΈΠΎΠ½
ΠΠΎΡΠΊΠ²Π°
ΠΠ°Π½ΡΡΠΎΡΡΡ
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ
2025-04-17
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ Π½ΡΠ»Ρ. Π£ΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ: ΡΠΌΠ°ΡΡΡΠΎΠ½Ρ, ΠΏΠ»Π°Π½ΡΠ΅ΡΡ, ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡ. Π¦Π΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°: Π‘ΠΎΠ·Π΄Π°ΡΡ Π²Π΅Π±-ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΉ ΠΈΠ· Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² (PowerPoint, PDF), ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΈΡ
ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ (Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅, Π³ΡΡΠΏΠΏΠ°, ΡΠ²Π΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈ Ρ.ΠΏ.), Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ PDF-ΡΠ°ΠΉΠ» Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΡΠ»Π°ΠΉΠ΄ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΡΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ β ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΠΊΠΈ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π±ΠΎΡΠΎΠΊ, ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ CRM (amo) ΠΈ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°. 2. ΠΠ±ΡΠ°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ 2.1. ΠΠ΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ β’ ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠ°Ρ ΡΠ°ΡΡΡ (Frontend): o ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² (Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ) Ρ ΡΠΎΡΠΌΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠΌ ΡΠ»Π°ΠΉΠ΄ΠΎΠ² (Π³Π°Π»Π΅ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ). o Π‘ΡΡΠ°Π½ΠΈΡΠ° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
(Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π³ΡΡΠΏΠΏΠ°, ΡΠΈΠ»ΡΡΡΡ: ΡΠ²Π΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»). o ΠΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» Π΄Π»Ρ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΠΊΠΈ (ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΠΎΡΠ°Ρ Π²Π΅ΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°). β’ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ: o ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π°Π΄ΠΌΠΈΠ½ΠΊΠΎΠΉ Django Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, Π·Π°Π³ΡΡΠ·ΠΊΠ°ΠΌΠΈ, Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. o ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ·ΡΠ²Π° ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ°, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ»Π΅ΠΉ (Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ). 2.2. Π‘Π΅ΡΠ²Π΅ΡΠ½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° (Backend) β’ Π―Π·ΡΠΊ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ: Python, Django. β’ ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
: MySQL (Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ). β’ ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ²: o ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΉ (ΡΠΎΡΠΌΠ°ΡΡ: PPT/PPTX, PDF). o Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ PDF Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π°ΠΉΠ΄Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ PyMuPDF/pdf2image. o ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ PDF ΠΈΠ· Π²ΡΠ±ΡΠ°Π½Π½ΡΡ
ΡΠ»Π°ΠΉΠ΄ΠΎΠ² ΡΠ΅ΡΠ΅Π· ReportLab ΠΈΠ»ΠΈ wkhtmltopdf (Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡ). 2.3. ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ β’ CRM (amo): o API-ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠ°Ρ
ΠΈΠ»ΠΈ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΡ
. β’ ΠΠ΅Π΄ΠΈΠ°-ΡΠ΅ΡΠ²ΠΈΡΡ: o ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅/ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ² (Π²ΡΠΎΡΠ°Ρ Π²Π΅ΡΠΊΠ° ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΠΊΠΈ) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡΠ½ΠΈΡ
CDN ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΡ
Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡ (AWS S3, Google Cloud Storage). 2.4. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ β’ Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ°: o Π¨Π°Π±Π»ΠΎΠ½Ρ (HTML) Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ templates/, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ (CSS, JS, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΠΈΡΡΡ) β Π² static/. o ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ {% load static %} Π² ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΊΠΈ. 3. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ 3.1. ΠΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
β’ ΠΠΎΠ΄Π΅Π»Ρ Product (Π’ΠΎΠ²Π°Ρ/Π‘Π»Π°ΠΉΠ΄): o ΠΠΎΠ»Ρ: name β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ description β ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ color material size price image β ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (ImageField) created_at β Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ β’ ΠΠΎΠ΄Π΅Π»Ρ Presentation (ΠΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ): o ΠΠΎΠ»Ρ: title β Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΈ file β ΡΠ°ΠΉΠ» ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΈ (FileField) group β Π³ΡΡΠΏΠΏΠ°/ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΠΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ (ΡΠ²Π΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ) β’ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ
ΡΠΈΠ»ΡΡΡΠΎΠ² ΠΈ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΠΊΠΈ. 3.2. ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² β’ Π€ΠΎΡΠΌΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΉ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
. β’ ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²: o ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» PDF β ΡΠ°Π·Π±ΠΈΠ²ΠΊΠ° Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π°ΠΉΠ΄Ρ. o ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» PowerPoint β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² PDF (Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ). β’ Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ (Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ). 3.3. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ β’ Π‘ΡΡΠ°Π½ΠΈΡΠ° Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. β’ Π€ΠΈΠ»ΡΡΡΡ ΠΏΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ: Π³ΡΡΠΏΠΏΠ°, ΡΠ²Π΅Ρ, ΡΠ°Π·ΠΌΠ΅Ρ, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π». β’ ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π² Π²ΠΈΠ΄Π΅ Π³Π°Π»Π΅ΡΠ΅ΠΈ (ΠΌΠΈΠ½ΠΈΠ°ΡΡΡΡ). β’ ΠΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π²ΡΠ±ΠΎΡΠ° ΡΠ»Π°ΠΉΠ΄ΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ (Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΎΡΠΌΠΎΡΡΠ°). 3.4. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ PDF β’ Π‘Π±ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ
ΡΠ»Π°ΠΉΠ΄ΠΎΠ². β’ ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π΄Π°ΡΠΎΠΉ, Π»ΠΎΠ³ΠΎΡΠΈΠΏΠΎΠΌ. β’ ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ PDF Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ReportLab ΠΈΠ»ΠΈ wkhtmltopdf. β’ ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° (ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡ). 3.5. Π‘ΠΈΡΡΠ΅ΠΌΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ β’ Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ, Π²Ρ
ΠΎΠ΄, Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. β’ Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ»Π΅ΠΉ: o ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ (ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ) o ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ (ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π±ΠΎΡΠΎΠΊ) β’ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π΅Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ/ΠΎΡΠ·ΡΠ²Π° ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ°. 3.6. ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΈ Π²ΡΠΎΡΠ°Ρ Π²Π΅ΡΠΊΠ° β ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΠΊΠ° β’ ΠΡΠΎΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ: o ΠΠ΅Π΄ΠΈΠ°ΡΠ΅ΠΊΠ° Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ, Π°ΡΠ΄ΠΈΠΎ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. o Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° API Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΌΠ΅Π΄ΠΈΠ°Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅. β’ ΠΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π». 4. ΠΠ΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ 4.1. ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ β’ ΠΠ°ΡΠΈΡΡΠ½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ (SSL). β’ ΠΠ°ΡΠΈΡΠ° ΠΎΡ CSRF, XSS. β’ ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ»Π΅ΠΉ. β’ Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ Π² Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Django). 4.2. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ β’ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ MySQL Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π±ΡΠΊΠ°ΠΏΠ°ΠΌΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΡΡΠ΅Π΄Ρ. β’ ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
Π΄Π°Π½Π½ΡΡ
(Redis/Memcached). β’ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. 4.3. ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ β’ Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ logging Π² Django). β’ ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. 4.4. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β’ ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². β’ Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². β’ ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ. 5. Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ β’ Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Python 3.9+ β’ Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ: Django 3.2+ β’ ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
: MySQL β’ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ PDF: PyMuPDF, pdf2image, ReportLab ΠΈΠ»ΠΈ pdfkit/wkhtmltopdf β’ ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ amoCRM: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ API amoCRM β’ Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ: Git β’ Π‘Π΅ΡΠ²Π΅Ρ ΡΡΠ°ΡΠΈΠΊΠΈ: (ΠΏΡΠΈ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π΅) Nginx ΠΈΠ»ΠΈ Apache β’ Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ: PyTest ΠΈΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Django 7. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ β’ ΠΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΡ: ΠΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠ΅Π΄ΠΈΠ°ΡΠ΅ΠΊΠΈ). β’ ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: ΠΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅. β’ ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ: ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ amoCRM ΡΠ΅ΡΠ΅Π· REST API. β’ Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΡΡΠ·ΠΎΠΊ. β’ ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠ½Π΅Π΄ΡΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· Sentry).
ΠΠΎΡ
ΠΎΠΆΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠ²
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
Π‘Π°ΠΉΡ Π΄Π»Ρ ΡΡΠ΅Π±Ρ. ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: Blazor Server C#. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΠ°ΠΉΡΠ°: ΠΏΠΎΠ»Π½ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ "DSE Tracking System", ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ Π½Π° .NET 6 (Blazor Server). ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ
Π΄Π΅ΡΠ°Π»Π΅ΠΉ. ΠΡΡΡ Π’Π. ΠΠΎΠ½ΡΠ΅Π½Ρ Π΅ΡΡΡ. ΠΡΡΡ ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ°ΠΊ ΠΆΠ΅ Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊ Π²ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Blazor Server Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ "DSE Tracking System" Π½Π° Π±Π°Π·Π΅ .NET 6. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ
Π΄Π΅ΡΠ°Π»Π΅ΠΉ (DSE) ΠΏΠΎ ΠΌΠ°ΡΡΡΡΡΠ°ΠΌ, ΡΠΎΡΡΠΎΡΡΠΈΠΌ ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ
Π·ΠΎΠ½, Π² ΡΡΡΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ (localhost), ΠΈΠΌΠ΅ΡΡ ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠΎΠ»Π΅Π²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄ΠΎΡΡΡΠΏΠ°, ΡΠΈΠΌΡΠ»ΡΡΠΈΡ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π·ΠΎΠ½, ΡΠΊΡΠΏΠΎΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ. Π’ΠΠ₯ΠΠΠΠΠΠΠ§ΠΠ‘ΠΠΠ Π‘Π’ΠΠ .NET 6 (ASP.NET Core) Blazor Server (UI) Entity Framework Core (Code First) SQL Server ASP.NET Core Identity (ΡΠΎΠ»ΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ) Razor Pages Bootstrap.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2025-05-04
ΠΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ 1Π‘
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ: ΠΠ±ΠΌΠ΅Π½ Ρ ΠΠ‘ ΠΠ. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ: 1Π‘: ΠΡΡ
Π³Π°Π»ΡΠ΅ΡΠΈΡ. ΠΠ΅ΡΡΠΈΡ: 8.3. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ²ΡΠ΅, Π±Π΅Π· Π΄ΠΎΡΠ°Π±ΠΎΡΠΎΠΊ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ ΠΊΠΌ. ΠΠΎΠ΄Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π·Π°ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΎΠ²Π°ΡΠ° ΠΈ Π½Π° Π³ΡΡΠΏΠΏΠΎΠ²ΡΡ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΡ. ΠΠ»Ρ Π½Π°Ρ Π²Π°ΠΆΠ½Ρ ΠΊΠΌ Π½Π° Π³ΡΡΠΏΠΏΠΎΠ²ΡΡ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΡ. Π Π°Π½Π΅Π΅ ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ ΠΊΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠΎΠ²Π°ΡΠ° ΠΈ ΠΊΠΌ Π½Π° Π³ΡΡΠΏΠΏΠΎΠ²ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π΄Π²ΡΠΌΡ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ - ΡΠ½Π°ΡΠ°Π»Π° ΠΊΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π° ΠΏΠΎΡΠΎΠΌ ΠΊΠΌ Π³ΡΡΠΏΠΏΠΎΠ²ΠΎΠΉ, ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ°ΡΠ°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ Π»ΠΈΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π±ΡΠ»ΠΈ Π½ΡΠΆΠ½Ρ. Π’Π΅ΠΏΠ΅ΡΡ ΠΆΠ΅ ΠΊΠΎΠ΄Ρ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ - ΡΠ½Π°ΡΠ°Π»Π° 5 ΠΊΠΌ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ, ΠΏΠΎΡΠΎΠΌ 1 ΠΊΠΎΠ΄ Π½Π° Π³ΡΡΠΏΠΏΠΎΠ²ΡΡ, ΠΏΠΎΡΠΎΠΌ ΡΠ½ΠΎΠ²Π° 5 ΠΊΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ ΡΠΎΠ²Π°ΡΠ°, Π° Π·Π°ΡΠ΅ΠΌ 1 ΠΊΠΌ Π½Π° Π³ΡΡΠΏΠΏΠΎΠ²ΡΡ. ΠΡΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΡΡΠ°ΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΠΏΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ΄ΠΎΠ² ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ. Π ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΡΠΎ, ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΠΏΠ΅ΡΠ°ΡΡ. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2025-05-04
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΠ. ΠΠΎΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ Π½ΡΠ»Ρ, Π½Π°ΡΡΡΠΎΠΉΠΊΠ°, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ° ΠΏΠΎ ΠΠ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ LoRA-ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Stable Diffusion Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΡΡΡΠΎΠΊ. Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ: ΠΠΏΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ LoRA Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΡΡ
ΠΏΡΠΈΡΡΡΠΎΠΊ. Π£ΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈΡ
ΡΠ°Π±ΠΎΡ. ΠΠ½Π°Π½ΠΈΠ΅ ComfyUI ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π½ΠΎΠ΄. Π£ΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π±ΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΡΠ°ΡΡΡ Π΄Π°Π΄ΠΈΠΌ, ΡΠ°ΡΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΌΠΎΠΌΡ). Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ½Π°Π»ΡΠ½ΡΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ β 1024x1024 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ: LoRA-ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² SDXL Stable Diffusion Π΄Π»Ρ inpaint-Π·Π°Π΄Π°Ρ: Π±Π΅ΡΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° 1024x1024, ΠΌΠ°ΡΠΊΠΈΡΡΠ΅ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΎΠ»ΠΎΡ, ΠΈ ΡΡΠ΄Π° Β«Π΄ΠΎΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡΒ» ΠΏΡΠΈΡΡΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΡΠΈΠ»ΠΈ. ΠΡΠΎΠ΅ΠΊΡ β ΡΠ°ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2025-05-04
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΡΠΎΠ² Telegram
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΠ°Π΄Π°ΡΠΈ ΡΠ°Ρ-Π±ΠΎΡΠ°: Π°Π½ΠΊΠ΅ΡΡ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ². ΠΡΠΎΠ΄ΡΠΊΡ: ΠΠ½ΠΊΠ΅ΡΡ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ² Π΄Π»Ρ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΡ
ΠΈΠ³ΡΠΎΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ
ΠΎΡΡΡ Π½Π°ΠΉΡΠΈ Π΄ΡΡΠ·Π΅ΠΉ ΠΈ ΠΈΠ³ΡΠ°ΡΡ Π²ΠΌΠ΅ΡΡΠ΅. Π’Π΅Ρ
Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΅ΡΡΡ. Π‘Π°ΠΉΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡ
ΠΎΠ΄ΠΈΡΡ Π½Π° "ΠΠ΅ΠΎΠ½Π°ΡΠ΄ΠΎ ΠΠ°ΠΉΠ²ΠΈΠ½ΡΠΈΠΊ" ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π³Π΅ΠΉΠΌΠ΅ΡΠΎΠ². ΠΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠ³ΡΡ, ΠΈΠΌΡ, Π²ΠΎΠ·ΡΠ°ΡΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2025-05-04
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΡΠΎΡΠ΅ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΊΡΠ°Π½Π° ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ. ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ ΠΏΠ°Π»ΡΡΠ°.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2025-05-04
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΠΎΡΠΎΠ² Telegram
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
ΠΠ°Π΄Π°ΡΠΈ ΡΠ°Ρ-Π±ΠΎΡΠ°: ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π±ΡΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ±ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³. ΠΡΠΎΠ΄ΡΠΊΡ: ΠΠΎΠ΅Π³ΠΎ. Π’Π΅Ρ
Π·Π°Π΄Π°Π½ΠΈΡ Π½Π΅Ρ.
Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2025-05-04
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠ²
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
Π‘Π°ΠΉΡ ΡΡΡΠΈ-ΠΏΠΈΡΡΠ°. ΠΠ»Π°ΡΡΠΎΡΠΌΠ°: ΠΏΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΡΠ°ΠΉΡΠ°: ΠΠΈΡΠ½ΡΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ, Π·Π°ΠΊΠ°Π· Π½Π° ΡΠ°ΠΉΡΠ΅. ΠΠΎΠ½ΡΠ΅Π½Ρ Π΅ΡΡΡ.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2025-05-04