Frontend fejlesztői dokumentáció

Aktuális kliensoldali modulstruktúra és működés

Ez a dokumentáció a jelenlegi, többoldalas, modulokra bontott frontend állapotot írja le.

Kiemelten szerepel benne a Planner nagyobb szétbontása, a Dashboard új modell- és render rétege, valamint a Settings admin workflow moduljai.

aktuális frontend dokumentáció

Frontend alapelvek

A frontend nem SPA, hanem többoldalas rendszer. A közös helper réteg a window.AppCore, erre épülnek az oldalankénti modulok. A cél a stabil napi használat, a DOM-kompatibilitás és a fokozatos moduláris tisztítás.

AppCore
oldalankénti entrypoint
Planner modulok
Dashboard model / render
Settings workflow

1. Többoldalas architektúra

Minden fő oldal külön HTML belépési ponttal dolgozik: Planner, CRM, Dashboard, Settings, Calendar, DJ View és readonly preview. A közös működési elemek helperként kerülnek be, nem egy nagy kliensalkalmazásban élnek.

Stabil DOM

A refaktor alapelve, hogy a meglévő HTML ID-k és fő markup szerkezet lehetőleg változatlan maradjon.

Oldalankénti felelősség

Minden oldalnak megvan a saját entrypointja és almodul készlete.

Fokozatos bontás

A nagy fájlak külön controller, render, workflow és domain modulokra válnak szét.

2. Közös core réteg

FájlFeladat
public/assets/JS/core/base.jsAlap DOM helper-ek, BASE útvonal, közös utility-k.
public/assets/JS/core/api.jsEgységes API wrapper, auth retry, hibaformázás.
public/assets/JS/core/domain-formatters.jsKözös domain-szintű formázók, például technikai szintek normalizálása.
public/assets/JS/ui/ui-modal.jsModalok, visszajelzések, progress felületek.
Új frontend logikánál közvetlen fetch helyett lehetőleg mindig az AppCore wrapper-eket használd.

3. Planner modulstruktúra

A Planner már nem egyetlen nagy app-fájl. A fő entrypoint továbbra is planner-app.js, de a felelősségek külön modulokba kerültek.

FájlSzerep
planner-app.jsVékony koordinátor és context builder.
planner-controller.jsInit és eseménykötések.
planner-form.jsPayload összeállítás, validáció és visszatöltés.
planner-workflow-actions.jsMentés, reset, PDF újragenerálás, feltöltés, automatikus menetrend.
planner-workflow-ui.jsUI-kötések, gyors műveletek, step logika.
planner-result-email.jsEredmény linkek, email preview és küldés.
planner-timeline-ui.jsMenetrend dashboard, hiányok, figyelmeztetések.
planner-template-ui.jsEseménytípushoz kötött UI és template-alapú viselkedés.
planner-readiness.jsOperatív állapotsáv és készültségi logika.
planner-refresh.jsÜtemezett részleges UI frissítés.

A Planner mellett továbbra is külön modulban él a pénzügy, aláírás, keresés, venue kezelés, template lista és accepted quote import.

4. Dashboard modulstruktúra

A dashboard oldal jelenleg öt fő modulból áll.

FájlSzerep
dashboard-app.jsOldalszintű koordináció, adatlekérés és vezérlés.
dashboard-models.jsView-model építés, például finance és health összesítések.
dashboard-render.jsKözös renderelő segédek és HTML blokkok.
dashboard-sections.jsRészleges szekciófrissítés és DOM-optimalizálás.
dashboard-auth.jsDashboard-specifikus auth UI segéd.

5. Settings modulstruktúra

A Settings oldal admin workflow oldal, ezért itt sokféle felelősség van. A jelenlegi állapotban ez már több részre van bontva.

FájlSzerep
settings-app.jsFő koordinátor és állapotkezelő.
settings-controller.jsInit, kötés, léptetés és fő UI-események.
settings-workflow-actions.jsMentés, backup, restore, restart, trash és maintenance műveletek.
settings-render.jsMegjelenítési segédek, riport- és részletblokkok renderelése.
settings-actions.jsKisebb UI action helper-ek.
settings-auth.jsSettings oldali auth és admin header kezelés.

6. CRM és egyéb oldalak

CRM

A crm-app.js kezeli az ajánlat űrlapot, follow-up frissítést, email preview-t és PDF workflow-t. Több része még egy fájlban él, de a közös domain formázókat már használja.

Calendar

Egyszerű havi nézet, kevés üzleti logikával.

DJ View

Read-only helyszíni nézet, mobilabb használatra optimalizálva.

Readonly preview

Dokumentum- és DJ-előnézet váltó oldal, eszközfüggő PDF megnyitási logikával.

7. Auth és API wrapper

A frontend auth UX szintű. A tényleges hozzáférés-ellenőrzést a backend végzi, de a kliens kezeli a 401-es válaszokra adott feloldási folyamatot.

API hívás A modul AppCore wrapperrel hívja a végpontot.
401 esetén A kliens auth folyamatot indít, nem nyers böngészős promptot használ.
Sikeres hitelesítés A kérés újrapróbálható ugyanazon a felületen.
Felhasználói élmény A modalos megoldás konzisztens marad minden fő oldalon.

8. Fejlesztési szabályok

SzabályMiért fontos?
Ne bontsd meg a fő HTML ID-ketA jelenlegi JS modulok erre a DOM szerkezetre épülnek.
Új logikát lehetőleg külön modulba tegyélÍgy tovább csökken a nagy entrypoint fájlak terhelése.
AppCore wrapper-eket használjAz auth és a hibakezelés ettől marad egységes.
Ékezetes UTF-8 szövegekkel dolgozzA projekt jelenlegi magyar nyelvi egységessége miatt.
Frontend refaktornál a működés elsőbbséget élvezEz a projekt élő napi használatban van.