Összes írás

Web · Architektúra

Miért a Firebase + Next.js + Vercel az alapértelmezett admin-stackünk

Szinte minden mobiltermékünk mellé előbb-utóbb kell egy back-office: egy admin felület, ahol az ügyfél a felhasználókat, tartalmakat és adatokat kezeli. Ezekhez mindig ugyanahhoz a stackhez nyúlunk — és az érvelés főleg arról szól, mit nem kell megépítenünk.

A probléma alakja

Az admin-alkalmazásoknak felismerhető profiljuk van: maroknyi belső felhasználó, CRUD-képernyők meglévő adatok felett, szerepkör-alapú hozzáférés, és nulla tolerancia arra, hogy az ügyfél büdzséje infrastruktúrára menjen el. Az admin nem a termék — a terméket szolgálja. Ettől mások a gazdasági szempontok: minden óra, amit szerverekre, deploy-pipeline-okra vagy API-csövezésre költünk az adminnál, egy óra, ami nem a termékre megy.

A mobilappjaink jellemzően eleve Firebase-en futnak: autentikáció, Firestore, tárhely, push-üzenetek. Ez a meglévő befektetés a stackválasztás horgonya.

Firebase: a backend, ami már létezik

Ha a mobilapp adatai a Firestore-ban, a felhasználói pedig a Firebase Authban élnek, az admin-alkalmazás ingyen kap egy teljes backendet. Nincs REST API-réteg, amit tervezni, építeni, dokumentálni és verziózni kellene — az admin ugyanazokat a Firestore-kollekciókat olvassa és írja, ugyanazokon a biztonsági szabályokon keresztül.

A szerepkör-alapú hozzáférés ott dől el, ahol kell: a Firebase Auth felhasználóin lévő custom claimek jelölik, ki admin, a security rule-ok pedig szerveroldalon kényszerítik ki. Az admin felület nem adhat magának jogosultságot — a szabályok jelentik az igazság forrását a mobilappnak és a dashboardnak egyaránt. Ami nem futhat kliensen — tömeges műveletek, adatmigrációk, értesítésküldés —, arra a Cloud Functions ad szerveroldali megoldást anélkül, hogy szervert kellene üzemeltetni.

Next.js: CRUD-képernyők tempóban

A Next.js az App Routerrel produktív választás dashboard-munkára. A szerverkomponensek kliensoldali bundle nélkül renderelik az adatnehéz lista- és részletnézeteket; a klienskomponensek az interaktív szigeteket viszik — űrlapok, szűrők, dialógusok. A fájlalapú útvonalkezelés természetesen képezi le egy admin szekcióit, a React-ökoszisztéma pedig érett táblázat-, űrlap- és diagramkomponenseket ad, így a képernyőket összerakjuk, nem feltaláljuk.

A tudás is átjárható: a webes termékeink — például a HajnalSugár platform — React és Next.js alapokon futnak, így az admin-alkalmazások ugyanabban a nyelvben élnek, mint minden más, amit webre szállítunk.

Vercel: a deploy mint nem-esemény

A Vercel azzal zárja a kört, hogy a deployment megszűnik téma lenni. Minden push buildel; minden pull request kap egy preview URL-t, amit az ügyfél megnézhet, mielőtt bármi élesbe kerül; a merge deployol. Nincs patchelendő szerver, nincs bébiszittelendő pipeline, és egy tucat felhasználós belső eszköz hosting-számlája nullára kerekít.

A preview deployok ügyfélmunkában külön hangsúlyt érdemelnek: az „itt a link a tegnap kért módosításhoz” olyan review-folyamat, amelyben egy nem technikai ügyfél is ténylegesen részt tud venni.

Hol rossz válasz ez a stack

Az alapértelmezésnek határai vannak. A Firestore dokumentumtár: ha az admin valódi feladata nehéz relációs riporting — entitásokon átívelő joinok, milliós sorszámú aggregációk, havi pénzügyi exportok —, akkor a relációs adatbázis az őszinte választás, és ezt ki is mondjuk. Hasonlóan: ha egy szervezet már üzemelteti a saját backend-platformját, az admin annak a szomszédjába való, nem egy párhuzamos stackre.

Az alapértelmezés értéke nem az, hogy mindig nyer — hanem hogy az esetek 80%-ában, ahová illik, a döntés már megszületett, és a beszélgetés arról szólhat, mire kell valójában az ügyfélnek a dashboard.

Tanulságok

  • Ha a mobilapp már Firebase-en fut, az admin dashboard komplett backendet örököl — nincs építendő és karbantartandó API-réteg.
  • Az admin-szerepköröket Firebase Auth custom claimekkel és security rule-okkal, szerveroldalon kényszerítsd ki — soha ne a felületen.
  • A Next.js szerverkomponensek az adatnehéz CRUD-képernyőkhöz illenek; a klienskomponensek maradjanak az interaktív szigeteknél.
  • A Vercel preview deployjai az ügyfél-review-t linkkattintássá egyszerűsítik — nem technikai érintettekkel felbecsülhetetlen.
  • Ismerd a határt: a nehéz relációs riporting relációs adatbázist kíván, nem Firestore-akrobatikát.

Olyat építesz, ahol ez számít?

Minden projektünkön így dolgozunk — mobilon, weben és AI-ban. Ha olyan csapatot keresel, amely így gondolkodik a termékedről, beszéljünk.

Kérj ingyenes becslést