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.

VýsledokŠkálovateľná architektúra umožňujúca rýchle pridávanie funkcií
pristupio.com/dashboard
Pristupio Platform screenshot 1
Pristupio Platform mobile

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.

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é.

  • 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

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.

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.

Vue 3Nuxt 3TypeScriptPiniaSupabaseSCSS
  • 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

Páči sa vám to?

Poďme niečo postaviť.

Napíšte mi