Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ Π½ΡΠ»Ρ, Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π£ΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ: ΠΏΠ»Π°Π½ΡΠ΅ΡΡ. ΠΠ°ΡΠΈΠ²Π½ΠΎΠ΅ iOS-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (iPadOS 17+) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ UVC-ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΊΠΈΠΎΡΠΊΠ° (Design + Dev + Test). Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° Π²ΡΡΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΡΠ΅Π½Π΄Π΅. Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ β iPad (Ρ ΠΏΠΎΡΡΠΎΠΌ Type-C). Π‘ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠ° Ρ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠ°ΠΌΠ΅ΡΡ (ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ USB-C, ΠΏΡΠΎΡΠΎΠΊΠΎΠ» UVC), ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΌΠ΅Ρ, Π·Π°Ρ
Π²Π°Ρ ΠΊΠ°Π΄ΡΠ°, Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ QR-ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΡΠΎ. ΠΠ±ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡ UI/UX ΠΠΈΠ·Π°ΠΉΠ½: ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° 3-Ρ
ΡΠΊΡΠ°Π½ΠΎΠ² + Π±Π°Π·ΠΎΠ²ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΎΠ². Π‘ΡΠΈΠ»ΠΈΡΡΠΈΠΊΠ°: ΡΠΈΡΡΡΠΉ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½ΡΠΉ, ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΠΉ/ΠΊΠΎΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ (ΡΠ²Π΅ΡΠ»ΡΠ΅ ΡΠΎΠ½Π°, Π±ΡΠ΅Π½Π΄Π±ΡΠΊ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ). Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Frontend - iOS). ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π±ΡΠΊΠ΅Π½Π΄Π° (BaaS / Microservice): ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ QR. QA ΠΈ Π‘ΡΡΠ΅ΡΡ-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ Π·Π°Ρ
Π²Π°ΡΠ° ΠΏΠΎΡΠΎΠΊΠ° (30 fps) ΠΏΡΠΈ Π΄ΠΎΠ»Π³ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ: ΠΠΊΡΠ°Π½ 1: ΠΠ°ΡΡΠ°Π²ΠΊΠ° (Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ). ΠΠ°ΡΠΈΠΊΠ»Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ. ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΡΠ°Π½ ΠΏΠΎ ΡΠ°ΠΏΡ Π² Π»ΡΠ±ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΡΠΊΡΠ°Π½Π°. ΠΠΊΡΠ°Π½ 2: ΠΡΠΎΡΠΌΠΎΡΡ. ΠΡΠ²ΠΎΠ΄ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠ° Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (720x1280, 30fps). UI-ΠΊΠ½ΠΎΠΏΠΊΠ° (Toggle) Π΄Π»Ρ Π±Π΅ΡΡΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°: ΡΡΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠ°ΠΌΠ΅ΡΠ° iPad <-> Π²Π½Π΅ΡΠ½ΡΡ UVC-ΠΊΠ°ΠΌΠ΅ΡΠ° (ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΏΠΎ Type-C). ΠΠΎΠ²Π΅ΡΡ
Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠ° ΡΡΠ°ΡΠΈΡΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ²Π΅ΡΠ»Π΅ΠΉ (PNG/SVG Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡΡ). ΠΠ½ΠΎΠΏΠΊΠ° Β«Π‘Π΄Π΅Π»Π°ΡΡ ΡΠΎΡΠΎΒ» (Π·Π°Ρ
Π²Π°Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°Π΄ΡΠ°). ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΡΡΠ΅ΡΠ° (3-2-1) ΠΏΠ΅ΡΠ΅Π΄ ΡΠ½ΠΈΠΌΠΊΠΎΠΌ. ΠΠΊΡΠ°Π½ 3: Π Π΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ° Ρ Π½Π°Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Π²ΠΎΠ΄ΡΠ½ΡΠΌ Π·Π½Π°ΠΊΠΎΠΌ. Π€ΠΎΠ½ΠΎΠ²Π°Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½Π°Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΡΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ URL ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ QR-ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠ½ΠΎΠΏΠΊΠ° Β«ΠΠ°Π²Π΅ΡΡΠΈΡΡΒ» (Π²ΠΎΠ·Π²ΡΠ°Ρ Π½Π° ΠΠΊΡΠ°Π½ 1). Inactivity Timer: ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π΅Π·Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ 15-20 ΡΠ΅ΠΊΡΠ½Π΄, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ ΡΡΠ΅ΠΉΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π° ΠΠΊΡΠ°Π½ 1 (Attract Screen). Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ (Backend): ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ BaaS (Firebase, Supabase) ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π½ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ Node.js/Python ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ Π½Π° S3. Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ 1 ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ (Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΎΡΠΎ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ). ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ: Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠ΅ΡΠ΅Π· 24 ΡΠ°ΡΠ°. ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ (iPad), ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π½Π° Π±Π°Π·Π΅ ΠΠ (Windows + ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΈΡΠΎΡ). ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π² Π²Π°ΡΠ΅ΠΌ ΠΎΡΠΊΠ»ΠΈΠΊΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΠΈ ΡΡΠΎΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π΄Π»Ρ ΠΠ.