Appearance
π ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π³Π°ΡΠ°ΠΆ ΠΈΠ·Π½ΠΎΡΠ° Π΄Π΅ΡΠ°Π»Π΅ΠΉ (Virtual Garage) β
π§ 1. ΠΠ½Π°ΡΠΎΠΌΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΠΎΠ³ΠΈΠΊΠ° Π΄Π²ΠΈΠΆΠΊΠ° (Tool Anatomy & Engine Logic) β
- Π§ΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅? ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π³Π°ΡΠ°ΠΆ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΠΎΠΌΠΎΠΊ ΡΡΠ°Π½ΡΠΌΠΈΡΡΠΈΠΈ ΠΈ Ρ ΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄Π°. ΠΠ΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ΠΈΡΡΡ ΡΠ°ΡΡΠΎ Π·Π°Π±ΡΠ²Π°ΡΡ Π²ΠΎΠ²ΡΠ΅ΠΌΡ ΠΌΠ΅Π½ΡΡΡ ΡΠ°ΡΡ ΠΎΠ΄Π½ΠΈΠΊΠΈ (ΡΠ΅ΠΏΡ, ΠΊΠ°ΡΡΠ΅ΡΡ, ΠΏΠΎΠΊΡΡΡΠΊΠΈ, ΡΠΎΡΠΌΠΎΠ·Π½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ΄ΠΊΠΈ), ΡΡΠΎ Π²Π΅Π΄Π΅Ρ ΠΊ Π»Π°Π²ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΌΡ ΠΈΠ·Π½ΠΎΡΡ Π·Π²Π΅Π·Π΄ ΠΈ Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠ΅ΠΌΡ ΡΠ΅ΠΌΠΎΠ½ΡΡ. ΠΠ°ΡΠ°ΠΆ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π΅Π³, ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΠΎΠ³ ΠΈ ΠΏΠΎΠ³ΠΎΠ΄Π½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, Π·Π°Π±Π»Π°Π³ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Ρ ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΌΠ΅Π½Ρ.
- ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ: ΠΡΠ΄Π²ΠΈΠ³Π°Π΅ΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ π² Garage Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· Π±ΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»Ρ.
- Π€ΠΈΠ·ΠΈΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (Basic UI Physics):
- ΠΠ΅Π»Π΅Π½ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (0% - 70%): ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
- ΠΠ΅Π»ΡΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (70% - 90%): ΠΠΎΠ²ΡΡΠ΅Π½Π½ΡΠΉ ΠΈΠ·Π½ΠΎΡ. ΠΡΠ΅ΠΌΡ Π·Π°ΠΊΠ°Π·Π°ΡΡ Π½ΠΎΠ²ΡΡ Π΄Π΅ΡΠ°Π»Ρ Π½Π° Π·Π°ΠΌΠ΅Π½Ρ.
- ΠΡΠ°ΡΠ½ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ (> 90%): ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ·Π½ΠΎΡ! ΠΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΠΎΠΏΠ°ΡΠ½Π°, Π΄Π΅ΡΠ°Π»Ρ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ.
- Drivetrain-Only Filter (Zwift Mode): Π’ΡΠΌΠ±Π»Π΅Ρ Π·ΠΈΠΌΠ½Π΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°. ΠΡΠΈ Π΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠΊΡΡΡΠΊΠΈ ΠΈ ΡΠΎΡΠΌΠΎΠ·Π½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ΄ΠΊΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ Π·Π°ΡΠ΅Π½ΡΡΡΡΡ (ΠΎΡΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΎΡ Π½Π°ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠ·Π½ΠΎΡΠ°).
- Π‘Π»Π°ΠΉΠ΄Π΅Ρ Mud & Rain: ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡ Π·Π°Π³ΡΡΠ·Π½Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΠΎΠ΅Π·Π΄ΠΊΠΈ, ΠΌΠ΅Π½ΡΡΡΠΈΠΉ ΡΠ²Π΅Ρ ΠΎΡ ΡΠ΅ΡΠΎΠ³ΠΎ Π΄ΠΎ Π±ΠΎΠ»ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠΈ Π²ΠΏΡΠ°Π²ΠΎ.

ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ ΠΡΡ-Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠ°: Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΊΡΠ°Π½Π° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π°ΡΠ°ΠΆΠ° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ Π΄Π΅ΡΠ°Π»Π΅ΠΉ: ΡΠ΅ΠΏΡ ΠΈΠ·Π½ΠΎΡΠ΅Π½Π° Π½Π° 85% (ΠΆΠ΅Π»ΡΡΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ), ΠΊΠ°ΡΡΠ΅ΡΠ° β Π½Π° 40% (Π·Π΅Π»Π΅Π½ΡΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ), Π°ΠΊΡΠΈΠ²Π΅Π½ ΡΡΠΌΠ±Π»Π΅Ρ Zwift Mode ΠΈ ΡΠ»Π°ΠΉΠ΄Π΅Ρ Mud & Rain ΡΠ΄Π²ΠΈΠ½ΡΡ Π²ΠΏΡΠ°Π²ΠΎ.
π¬ 2. ΠΠ°ΡΡΠΈΡΠ° ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² (ΠΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ) β
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ Π: Π£ΡΠ΅Ρ ΠΆΠ΅ΡΡΠΊΠΈΡ ΠΏΠΎΠ³ΠΎΠ΄Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ (Mud Wear Boost) β
- ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΅Π·Π΄ΠΊΠΈ ΠΏΠΎ Π»Π΅ΡΠ½ΠΎΠΉ Π³ΡΡΠ·ΠΈ ΠΏΠΎΠ΄ Π΄ΠΎΠΆΠ΄Π΅ΠΌ ΠΎΡΠΊΡΡΡΡ ΠΠ°ΡΠ°ΠΆ, ΡΠ΄Π²ΠΈΠ½ΡΡΡ ΡΠ»Π°ΠΉΠ΄Π΅Ρ Mud & Rain Π² ΠΊΡΠ°ΠΉΠ½Π΅Π΅ ΠΏΡΠ°Π²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
4.0x) ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠ±Π΅Π³ Π·Π°Π΅Π·Π΄Π°. - Π Π΅Π°ΠΊΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ (ΠΠ°Π³ΠΈΡ): ΠΠ·Π½ΠΎΡ ΡΠ΅ΠΏΠΈ ΠΏΡΠΈΡΠ°ΡΡΠ°Π΅Ρ Π½Π΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ
0.5%Π·Π° ΡΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ, Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΊΠ°ΡΠΊΠΎΠΌ Π½Π°2.0%. ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ·Π½ΠΎΡΠ° ΡΠ΅ΠΏΠΈ ΠΎΠΊΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΈΠ· Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ Π² ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠΈΠΉ ΠΆΠ΅Π»ΡΡΠΉ ΡΠ²Π΅Ρ. - Π€ΠΈΠ·ΠΈΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ° (Β«ΠΠΎΡΠ΅ΠΌΡΒ»): ΠΠ·Π½ΠΎΡ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π΅
Wear = (Distance / ResourceLimit) * WeatherFactor * SurfaceFactor. Π‘Π»Π°ΠΉΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π² Zustand-Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅useGarageStoreΠΏΠΎΠ²ΡΡΠ°ΡΡΠΈΠΉ ΠΏΠΎΠ³ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡWeatherFactor = 4.0, ΡΡΠΊΠΎΡΡΡΡΠΈΠΉ ΡΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°Π»Π»Π° Π²ΠΎ Π²Π»Π°ΠΆΠ½ΠΎΠΉ ΠΈ Π°Π±ΡΠ°Π·ΠΈΠ²Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. 
ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΡ: ΠΠ°Π½Π΅Π»Ρ Π³Π°ΡΠ°ΠΆΠ° Ρ ΠΈΠ·Π½ΠΎΡΠΎΠΌ ΡΠ΅ΠΏΠΈ, ΡΠ΅Π·ΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²ΡΠΈΠΌΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π²ΠΈΠ³Π° ΡΠ»Π°ΠΉΠ΄Π΅ΡΠ° Π³ΡΡΠ·ΠΈ Π²ΠΏΡΠ°Π²ΠΎ.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ Π: ΠΠΈΠΌΠ½ΠΈΠΉ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ (Zwift Mode Activation) β
- ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: ΠΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Zwift Mode ΠΏΠ΅ΡΠ΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠΈΠΈ Π·ΠΈΠΌΠ½ΠΈΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΠΊ Π½Π° ΡΡΠ°Π½ΠΊΠ΅.
- Π Π΅Π°ΠΊΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ (ΠΠ°Π³ΠΈΡ): ΠΠΎΠ»ΠΎΡΡ ΠΈΠ·Π½ΠΎΡΠ° ΠΏΠΎΠΊΡΡΡΠ΅ΠΊ ΠΈ ΡΠΎΡΠΌΠΎΠ·Π½ΡΡ ΠΊΠΎΠ»ΠΎΠ΄ΠΎΠΊ Π±Π»ΠΎΠΊΠΈΡΡΡΡΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ . ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΎΠ±Π΅Π³ Π½Π°ΡΠΈΡΠ»ΡΠ΅Ρ ΠΈΠ·Π½ΠΎΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΡΠ΅ΠΏΡ ΠΈ ΠΊΠ°ΡΡΠ΅ΡΡ. ΠΠΎΠΊΡΡΡΠΊΠΈ ΠΈ ΠΊΠΎΠ»ΠΎΠ΄ΠΊΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ (Π·Π°ΡΠ΅ΠΌΠ½ΡΡΡΡΡ).
- Π€ΠΈΠ·ΠΈΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ° (Β«ΠΠΎΡΠ΅ΠΌΡΒ»): Π Π΅ΠΆΠΈΠΌ Zwift ΠΎΠ±Π½ΡΠ»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ ΠΈΠ·Π½ΠΎΡΠ°
StaticComponentFactor = 0Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½Π΅ ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ Π² Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΠ°Π½ΠΎΡΠ½ΠΎΠΉ Π΅Π·Π΄Π΅ (ΠΊΠΎΠ»ΠΎΠ΄ΠΊΠΈ Π½Π΅ ΡΠΎΡΠΌΠΎΠ·ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π½Π΅Π΅ ΠΊΠΎΠ»Π΅ΡΠΎ ΡΡΠΎΠΈΡ, Π·Π°Π΄Π½Π΅Π΅ ΠΊΡΡΡΠΈΡ ΡΡΠ°Π½ΠΎΠΊ Π±Π΅Π· ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π·ΠΈΠ½Ρ ΠΎΠ± Π°ΡΡΠ°Π»ΡΡ). 
ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ: ΠΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΡΠΌΠ±Π»Π΅Ρ Zwift Mode, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠ·Π½ΠΎΡ ΠΏΠΎΠΊΡΡΡΠ΅ΠΊ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½, Π° ΠΈΠ·Π½ΠΎΡ ΡΠ΅ΠΏΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ.
Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ Π: ΠΠ°ΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈ ΡΠ±ΡΠΎΡ ΡΠ΅ΡΡΡΡΠ° (Component Maintenance Reset) β
- ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: ΠΡΠΏΠΈΡΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΏΡ, Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ ΠΊΡΡΠ³Π»ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ Β«Π‘Π±ΡΠΎΡΠΈΡΡ / ΠΠ°ΠΌΠ΅Π½ΠΈΡΡΒ» Π½Π°ΠΏΡΠΎΡΠΈΠ² ΡΡΡΠΎΠΊΠΈ Chain Π² ΠΠ°ΡΠ°ΠΆΠ΅.
- Π Π΅Π°ΠΊΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ (ΠΠ°Π³ΠΈΡ): Π‘ΡΠ΅ΡΡΠΈΠΊ ΠΈΠ·Π½ΠΎΡΠ° ΡΠ΅ΠΏΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ Π²
0%, ΠΏΠΎΠ»ΠΎΡΠ° ΠΎΠΊΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠΎΡΠ½ΡΠΉ Π·Π΅Π»Π΅Π½ΡΠΉ ΡΠ²Π΅Ρ. Π Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄Π°ΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ. - Π€ΠΈΠ·ΠΈΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ° (Β«ΠΠΎΡΠ΅ΠΌΡΒ»): ΠΠ°ΠΏΡΠΎΡ
PATCH /api/garage/component/:idΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Hono. Π Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ PostgreSQL ΠΏΠΎΠ»Π΅current_wearΠ΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ Π² Π½ΠΎΠ»Ρ, Π° Π² ΠΈΡΡΠΎΡΠΈΡ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡmaintenance_logsΠ΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ°ΠΉΠΌΡΡΠ°ΠΌΠΏΠΎΠΌ. 
ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ: ΠΠ°ΠΆΠ°ΡΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΡΠ±ΡΠΎΡΠ° ΠΈΠ·Π½ΠΎΡΠ° ΡΠ΅ΠΏΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ΅Π΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π΅Π»Π΅Π½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
π¨ 3. ΠΠ°ΡΠΈΡΠ° ΠΎΡ Π΄ΡΡΠ°ΠΊΠ° ΠΈ ΠΡΠ°ΠΉΠ½ΠΈΠ΅ ΡΠ»ΡΡΠ°ΠΈ (QA Guide) β
- ΠΠ΅ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ: ΠΠΎΠΏΡΡΠΊΠ° Π²Π²Π΅ΡΡΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ Π²Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π΅Π³Π° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π±ΡΠΊΠ²Ρ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
"abc"ΠΈΠ»ΠΈ"100,5"Ρ Π½Π΅Π²Π΅ΡΠ½ΡΠΌ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ) Π² ΡΠΎΡΠΌΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄Π°. - Π Π΅Π°ΠΊΡΠΈΡ UI: Π€ΠΎΡΠΌΠ°, Π·Π°ΡΠΈΡΠ΅Π½Π½Π°Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΠ°ΠΌΠΈ React Hook Form ΠΈ Zod Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ
preprocessNumber, Π½Π° Π»Π΅ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π·Π°ΠΏΡΡΡΠ΅ Π² ΡΠΎΡΠΊΠΈ, ΠΎΡΡΠ΅ΠΊΠ°Π΅Ρ Π±ΡΠΊΠ²Ρ ΠΈ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΡ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Ρ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΎΡΠ°Π½ΠΆΠ΅Π²ΠΎΠΉ ΡΠ°ΠΌΠΊΠΎΠΉ. - Π’ΠΎΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ (Toast): ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄Π°: "π‘οΈ ΠΠ΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Π³Π°ΡΠ°ΠΆ."

ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ: ΠΠΊΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄Π° Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ·-Π·Π° Π²Π²ΠΎΠ΄Π° Π±ΡΠΊΠ² Π² ΠΏΠΎΠ»Π΅ ΠΏΡΠΎΠ±Π΅Π³Π°.