Π¦Π΅Π»Ρ:
ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠΎΠΉ sveltekit ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ. ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ cloudlflare pages ΠΈ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π²ΠΎΠΊΡΡΠ³ GraphQL.
ΠΠ°Π΄Π°ΡΠ°
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ΅ΡΠΈΠΉ "Π ΠΈΠΊ ΠΈ ΠΠΎΡΡΠΈ" Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°ΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ API. Π‘ΡΡΡΠΊΡΡΡΠ° ΡΡΡΠ°Π½ΠΈΡ:
- /[season]/ : ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π·ΠΎΠ½Π΅, ΠΈ ΡΡΡΠ»ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΏΠΈΠ·ΠΎΠ΄ΠΎΠ² Π²Π½ΡΡΡΠΈ ΡΠ΅Π·ΠΎΠ½Π°, ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΠ΅Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΉ ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ Π² ΡΠ΅Π·ΠΎΠ½Π΅
- /[season]/[episode]/ : ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΠΏΠΈΠ·ΠΎΠ΄Π΅, ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΉ ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ Π² ΡΠΏΠΈΠ·ΠΎΠ΄Π΅
- /[character]/ : ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅, ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΠ΅ ΡΠΏΠΈΠ·ΠΎΠ΄Ρ Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΡΠ°ΡΡΠΈΠ΅.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΠΎΠΈΡΠΊΠ°: ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠΏΠΈΠ·ΠΎΠ΄Π° ΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°. ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» GraphQL.
ΠΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ SSR, Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ GraphQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ urql.
Π‘ΡΡΠ°Π½ΠΈΡΡ Ρ ΠΏΠΎΠΈΡΠΊΠΎΠΌ ΡΠ°ΠΊ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅ΡΠ΅Π½Π΄Π΅ΡΠΈΡΡΡΡ.
ΠΡΠΈ ΡΠΌΠ΅Π½Π΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ API Rick And Morty Π½Π°ΠΏΡΡΠΌΡΡ, Π±Π΅Π· Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ load ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π½ΡΡΡΠΈ sveltekit.
ΠΡΠ°ΠΏΡ:
-
ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π½Π° github
-
ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ sveltekit
-
ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ Π°Π΄Π°ΠΏΡΠ΅ΡΠ° Π½Π° cloudflare-pages
-
ΠΏΠΎΠ΄Π²ΡΠ·Π°ΡΡ cloudflare pages ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² github ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ci/cd
-
ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅ΡΠΊΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ task, Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ° Π±ΡΠ΄Π΅Ρ Π²Π΅ΡΡΠΈΡΡ Π² ΡΡΠΎΠΉ Π²Π΅ΡΠΊΠ΅. Π‘ Π½Π΅Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ PR Π½Π° ΠΌΠ°ΡΡΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²Π΅ΡΡΠΈΡΡ ΡΠ΅Π²ΡΡ. ΠΠΠΠΠ: Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ci/cd Π½Π° ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠ΅Π²ΡΡ Π²Π΅ΡΠΊΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠ°Π±ΠΎΡΡ.
-
ΡΠΎΠ·Π΄Π°ΡΡ layout Π΄Π»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΡΠ°ΠΏΠΊΠΎΠΉ, ΡΡΡΠ΅ΡΠΎΠΌ. Π§ΡΠΎΠ±Ρ Π½Π΅ Π²ΠΎΠ·ΠΈΡΡΡ Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ picocss
-
Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ form enhancement Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ UX ΡΠΎΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°.
- Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΏΠΎΠ»Ρ, Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ invalid Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΌΠ΅Π½Π΅ ΡΠ΅ΠΌ ΠΏΠΎ 3ΠΌ Π·Π½Π°ΠΊΠ°ΠΌ.
- ΠΏΡΠΈ ΡΠ°Π±ΠΌΠΈΡΠ΅ ΡΠΎΡΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠ° submit Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ Π² disabled state (ΠΌΠΎΠΆΠ½ΠΎ Ρ loading). Π¦Π΅Π»Ρ: ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π΄Π°Π±Π» ΠΊΠ»ΠΈΠΊ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ, ΡΡΠΎ ΡΠΎΡΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
- Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΠΏΠΈΠ·ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΉ
- Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
- Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅Ρ β ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π·Π°Π³Π»ΡΡΠΊΡ ΠΎΠ± ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². ΠΡΠ»ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° β ΠΎΡΠ΄Π°ΡΡ http status code 404 Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΡΡΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ.
-
bonus: Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° Π² LRU ΠΊΠ΅Ρ Π½Π° Π±Π°Π·Π΅ CloudFlare KV.
ΠΡΠΈΡΠ΅ΡΠΈΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ
- ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
- ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ TS (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ strict mode)
- ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π΄Π°ΡΠΈ
- ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ codegen Π΄Π»Ρ graphql Ρ typescript.
- ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π² sveltekit ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° (Π»Π΅ΠΉΠ°ΡΡΡ, ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΠΏΡ ΡΠΎΡΡΠΎΠ², form progressive enhancement ΠΈ ΠΈΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ kit)
ΠΡΡΠ΅ΡΠ°ΠΊΡ
ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ PR, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠΊΠ΅Π»Π΅Ρ sveltekit ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π°Π΄Π°ΠΏΡΠ΅ΡΠ° Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° CI/CD. ΠΠ½ΡΡΡΠΈ PR Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ preview branch Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° pages ΠΏΡΠΎΠ΅ΠΊΡΠ°.