Π‘Π΅ΡΠ²ΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π½Π° Π±Π°Π·Π΅ GitHub Rest API
- Main stack: Vite + React + TS
- State manager: MobX
- React UI Component Library: Material UI
- Testing: Jest + React Testing Library
- ΠΠΎΠΈΡΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Ρ ΠΏΠ»Π°Π²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΡΠ·ΠΊΠΎΠΉ Π΄Π°Π½Π½ΡΡ
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΡΡΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅
- ΠΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΎΡ API Π΄Π°Π½Π½ΡΡ
- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ unit-ΡΠ΅ΡΡΠ°ΠΌΠΈ
- Π’Π΅ΠΌΡ (ΡΡΠΌΠ½Π°Ρ/ΡΠ²Π΅ΡΠ»Π°Ρ)
- Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° (ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π·Π΄Π΅ΡΡ)
- ΠΠΎΠ±Π°Π²ΠΈΡΡ OAuth Π΄Π»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π·Π°ΠΏΡΠΎΡΠΎΠ²
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΏΠ»Π°Π²Π½ΡΠΉ ΡΠΊΡΠΎΠ»Π», ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
-
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: TS, React/MobX, CSS-ΠΌΠΎΠ΄ΡΠ»ΠΈ, Webpack/Vite, Jest, React Testing Library;
-
API: ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ API ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°: github api, npmjs api, imdb api ΠΈ Π΄Ρ. ΠΠ°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΏΠΈΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ Π±ΡΠ» ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
$ curl "https://api.github.com/search/repositories?q=javascript&sort=stars&order=asc&page=2"
-
ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ: ΠΠΎΠ±Π°Π²ΠΈΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ API;
-
Π Π°Π±ΠΎΡΠ° Ρ API: Π Π°Π±ΠΎΡΠ°ΡΡ Ρ API ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π»ΠΈΠ±ΠΎ Π΄Π΅Π»Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π½Π°ΠΏΡΡΠΌΡΡ;
-
ΠΠ΅Ρ Π°Π½ΠΈΠΊΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ: ΠΠ΅Ρ Π°Π½ΠΈΠΊΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ;
-
ΠΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΡΠΆΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ (ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΡΠΎΡΠΎΠΌ);
-
ΠΠΈΠ·Π°ΠΉΠ½: Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ Π½Π΅Ρ. ΠΠ»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ UI Kit/Framework, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ant Design. ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ Π²ΡΠ±ΠΎΡ.
-
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠΊΡΡΡΡ unit-ΡΠ΅ΡΡΠ°ΠΌΠΈ Π½Π° Jest + React Testing Library.
- Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°: ΠΠΎΠ΄Π΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΏΠΎΠ»ΡΠΌ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ API;
- ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ: ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΌΠ½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ:
- ΠΡΡΡΡΠΎΠΈΡΡ Π³Π°ΡΠΌΠΎΠ½ΠΈΡΠ½ΡΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΡΠΈ
- Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΡΠΉ pet-ΠΏΡΠΎΠ΅ΠΊΡ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ UI Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠ½ΠΎΠΉ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Material UI
, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°Π½Π΅Π΅ Ρ Π½ΠΈΠΌ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π» ΠΈ Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ ΠΏΠΎΡΡΠΏΠ°ΡΡ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΈ Ρ
ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ.