Prípadová štúdia
Pristupio Platform
Škálovateľná SaaS platforma vytvorená pre dlhodobý rast produktu - navrhnutá s Vue 3, Pinia a Supabase od základu.


Problém
Produkt potreboval základ, ktorý by zvládal škálovanie s novými funkciami bez hromadenia technického dlhu. Skoré rozhodnutia v oblasti state managementu, fetchovania dát a návrhu komponentov by určili, ako rýchlo bude tím schopný dodávať o šesť mesiacov neskôr. Zlé rozhodnutia na začiatku by znamenali drahé refaktory pod tlakom termínov.
Prístup
Namiesto rýchleho vývoja s neskorším refaktoringom som najprv navrhol systémovú architektúru. Každá produktová doména — autentifikácia, obsah, fakturácia - bola izolovaná do vlastného composable a Pinia storu. UI komponenty boli navrhnuté ako kontextovo nezávislé: čisto prezentačné, riadené propmi. Toto oddelenie zachovalo jednotlivé časti testovateľné a nahraditeľné.
Architektúra
- Frontend: Vue 3 s Composition API a TypeScript
- State: Pinia s typovanými store modulmi na doménu
- Backend: Supabase (PostgreSQL, Auth, Realtime)
- API vrstva: Composables abstrahujúce všetky Supabase dotazy
- Routing: Nuxt 3 s middleware-based auth guardmi
Kľúčové rozhodnutia
Pinia namiesto Vuexu
Modulárny dizajn Pinie a TypeScript-first API odstránili boilerplate a umožnili testovanie storov v izolácii. Vuex by pridal zložitosť bez skutočného prínosu pri tejto veľkosti projektu.
Supabase namiesto vlastného backendu
Pre produkt v ranej fáze by budovanie vlastného API servera výrazne zvýšilo čas vývoja. Supabase poskytol autentifikáciu, real-time subscriptions a relačnú databázu bez zbytočného nastavenia — čím uvoľnil kapacitu na produktovú prácu.
Composables ako hranica backendu
Všetky Supabase dotazy žijú v composables, nie v komponentoch. Výmena alebo rozšírenie backendu neskôr znamená úpravu jednej vrstvy, nie desiatok súborov roztrúsených po celom zdrojovom kóde.
Žiadna predčasná optimalizácia
Virtualizáciu a lazy store by som preskočil, kým nebol dôkaz, že ich aplikácia potrebuje. Nízka zložitosť v ranej fáze urýchlila onboarding a zjednodušila debugovanie.
Výsledok
Platforma bola odovzdaná v termíne s prehľadným zdrojovým kódom. Nové funkcie trvajú výrazne menej času, pretože architektúra anticipuje zmeny. Po prvom vydaní neboli potrebné žiadne väčšie refaktory - priamy výsledok dizajnových rozhodnutí na začiatku.
Tech stack
Čo by som zlepšil
- Pridať Playwright end-to-end testy pre kritické používateľské toky
- Zaviesť systém feature flagov pre bezpečnejšie postupné nasadenia
- Extrahovať knižnicu komponentov do samostatného balíka pre opätovné použitie