ΠΠ΅ΡΠ²ΠΎΠ΅ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Modsen. ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Modsen Currency Tracker ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ Π²Π°Π»ΡΡ ΠΈ ΠΎΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡ ΡΠ΅Π½Ρ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ JavaScript, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° React ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΎΡΠΊΡΡΡΡΠΌΠΈ API, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΊΡΡΡΠ°Ρ Π²Π°Π»ΡΡ.
- Π‘ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΊ ΡΠ΅Π±Π΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ;
- ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ»
.env
ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ΅ΡΠΌΠ΅Π½Π½ΡΠ΅:
- CURRENCY_API_KEY - ΠΊΠ»ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅;
- MAPBOX_API_KEY - ΠΊΠ»ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅;
- REACT_APP_CURRENCY_API_URL - ΠΎΡΡΠ°Π΅ΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ;
- ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ.
REACT_APP_CURRENCY_API_KEY = CURRENCY_API_KEY
REACT_APP_CURRENCY_API_URL = https://api.currencyapi.com/v3/latest
REACT_APP_CURRENCY_API_SPLITTER = ,
REACT_APP_CACHE_LIFETIME = 86400000
REACT_APP_CACHE_CURRENCY_RATES_KEY = currencyRates
REACT_APP_CACHE_LAST_UPDATE_KEY = lastUpdated
REACT_APP_CACHE_THEME_KEY = theme
REACT_APP_DECIMAL_PLACES = 5
REACT_APP_MAPBOX_API_KEY = MAPBOX_API_KEY
Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
- yarn start ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΊΡΠΎΠΉΡΠ΅ http://localhost:8080, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΅Π³ΠΎ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
- yarn start
ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΠ°ΠΏΠΊΠ°
dist
Ρ Π±Π°Π½Π΄Π»ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°. - yarn test ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ unit-ΡΠ΅ΡΡΡ Π²eΠ±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Jest.
- yarn cypress:open ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ e2e-ΡΠ΅ΡΡΡ Π²eΠ±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ cypress.
- Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
- API
- ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»
- ΠΡΠΈΠΌΠ΅Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ React ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ "Modsen Currency Tracker" ΠΏΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΌΡ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ ΠΈΠ· Figma.
Π‘ΠΏΠΈΡΠΎΠΊ API Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ(Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ API Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ Π·Π°Π΄Π°Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ API Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΡΡΡΠ° Π²Π°Π»ΡΡ):
- Exchange rates - ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠ° Π²Π°Π»ΡΡΡ.
- Currency Conversion API - ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΡ Π²Π°Π»ΡΡΡ.
- ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠ° Π²Π°Π»ΡΡ;
- Π³ΡΠ°ΡΠΈΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²Π°Π»ΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΡΠ°(ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π²Π΅ Π²Π°Π»ΡΡΡ);
- ΡΠΌΠ΅Π½Π° ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- elastic search - ΠΏΠΎΠΈΡΠΊ Ρ Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ.
- Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Loader Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°ΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ UI ΠΏΡΠΈ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ .
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ ΡΡΠΈΠ»Π΅ΠΉ, Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅ - Π·Π°ΠΏΡΠ΅ΡΠ΅Π½Ρ, ΠΊΡΠΎΠΌΠ΅ ΡΠ΅Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡ Π² ΠΏΡΠ½ΠΊΡΠ΅ βΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈβ.
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΌΠ°ΠΊΠ΅Ρ: ΠΠ°ΠΊΠ΅Ρ "Modsen Currency Tracker".
-
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ "Observer", ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΡΠ»Π΅Π΄ΠΈΡΡ ΠΈ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π² Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ (ΡΠΌ. ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ Observer);
-
ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ react ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΡ: CΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°;
-
ΠΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° react ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ: Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌΡ Π·Π°Π΄Π°Π½ΠΈΡ;
-
ΠΠ΅ΠΏΠ»ΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ GitHub Pages ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ (Netlify, ...);
-
ΠΠ°ΡΡΡΠΎΠΉΠΊΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ babel, eslint, prettier;
-
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ prop-types Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ props;
-
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° typescript (ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ);
-
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΡΠ΅ΡΠ½ Error Boundaries;
-
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»ΠΈΠ°ΡΠΎΠ² Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²;
-
Π‘Π°ΠΌΠΎΠΌΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ webpack Π΄Π»Ρ dev ΠΈ production ΡΠ±ΠΎΡΠΊΠΈ;
-
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠ΄ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°;
-
ΠΠΎΠΊΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΠ°ΠΌΠΈ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (cypress, jest);
-
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ²ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²;
-
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
-
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ deploy ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
-
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² SOLID;
-
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΏΡΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡ, Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈ ΡΠ΅Π½Π΄Π΅ΡΠ΅ ΠΈ ΡΠΊΡΠΎΠ»Π»Π΅.
ΠΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Π²Π΅ΡΡ Π½ΠΈΠΉ Π±Π»ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΠΈ ΡΠΌΠ΅Π½Ρ ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ΡΡΠ°Π½ΠΈΡΡ Contact Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
-
Π‘ΡΡΠ°Π½ΠΈΡΠ° Home ΠΠ° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΠΈ Π²Π°Π»ΡΡ, Π³Π΄Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΡΡΡ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²Π°Π»ΡΡΡ. ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° Π»ΡΠ±ΡΡ ΠΊΠ°ΡΡΠΎΡΠΊΡ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ(ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ) Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΊΠ°ΡΡΠΎΡΠΊΠ΅ ΠΈ ΠΏΠΎΠ»Π΅, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π²Π°Π»ΡΡΡ, ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡΡΡ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ·Π½Π°ΡΡ Π΅Π΅ ΠΊΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π²Π°Π»ΡΡΡ. ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΊ API, Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½Ρ. ΠΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ .
-
Π‘ΡΡΠ°Π½ΠΈΡΠ° Timeline ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π³ΡΠ°ΡΠΈΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ Π²Π°Π»ΡΡΡ Π·Π° ΠΌΠ΅ΡΡΡ(Π½Π° ΠΌΠ°ΠΊΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π³ΡΠ°ΡΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ). ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ Π²Π°Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π½Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°(ΠΏΡΠΎΠ΄ΡΠΌΠ°ΡΡ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ°). Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ: Π΄Π΅Π½Ρ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²Π°Π»ΡΡΡ (ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ API, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π°Π½Π° Π² ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ). Π ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠ° Π±ΡΠ΄ΡΡ Π²Π²Π΅Π΄Π΅Π½Ρ Π½Π° 30 Π΄Π½Π΅ΠΉ, Π½ΡΠΆΠ½ΠΎ ΡΡΠΎΠ±Ρ Π½Π° ΡΠΊΡΠ°Π½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΠΎΡΡ ΠΎΠΊΠ½ΠΎ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π³ΡΠ°ΡΠΈΠΊΠ°(ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ°Π½Π° Observer). ΠΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ .
-
Π‘ΡΡΠ°Π½ΠΈΡΠ° Bank card ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΊΠ°ΡΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ Π±Π°Π½ΠΊΠΈ Π³ΠΎΡΠΎΠ΄Π°. ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ Π²Π°Π»ΡΡΡ Π½Π° ΠΊΠ°ΡΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠΎΡΠΊΠΈ Π±Π°Π½ΠΊΠΎΠ², Π³Π΄Π΅ Π΄Π°Π½Π½Π°Ρ Π²Π°Π»ΡΡΠ° Π΅ΡΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ (ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄Π²Π΅ ΡΠΎΡΠΊΠΈ). Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠΈΡΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ elastic search. Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π±Π°Π½ΠΊΠΎΠ², Π½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π² ΠΊΠ°ΠΊΠΈΡ Π±ΡΠ΄Π΅Ρ Π»Π΅ΠΆΠ°ΡΡ ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ Π²Π°Π»ΡΡΠ° - ΠΏΡΠΎΠ΄ΡΠΌΠ°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ .
- node.js - ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° Π΄Π²ΠΈΠΆΠΊΠ΅ V8 (ΡΡΠ°Π½ΡΠ»ΠΈΡΡΡΡΠ΅ΠΌ JavaScript Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄).
- babel - ΡΡΠ°Π½ΡΠΏΠ°ΠΉΠ»Π΅Ρ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ.
- axios - Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
- chart-js - javascript Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ.
- mapbox-gl - Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠ°ΡΡΡ.
- eslint - Π»ΠΈΠ½ΡΠ΅Ρ Π΄Π»Ρ JavaScript ΠΊΠΎΠ΄Π°.
- yarn - ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
- react - JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
- webpack - ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ JavaScript-ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² Π΅Π΄ΠΈΠ½ΡΠΉ JS-ΡΠ°ΠΉΠ».
- prop-types - Π½Π°Π±ΠΎΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ .
- redux - ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
- cypress β e2e ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π²Π΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
- jest β unit-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ c ΠΏΠΎΠ»Π½ΡΠΌ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- ΠΠΎΠ΄ΡΠ»Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠ° Π²Π°Π»ΡΡΡ;
- ΠΠΎΠ΄ΡΠ»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ;
- ΠΠΎΠ΄ΡΠ»Ρ ΡΠΌΠ΅Π½Ρ ΡΠ΅ΠΌΡ;
- ΠΠΎΠ΄ΡΠ»Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ.
Will be soon...