# mozdIT Weboldal - Fejlesztési TODO Lista ## Projekt Áttekintés Next.js 15 alapú weboldal a mozdIT Bt. számára, Docker Compose-szal deployolva. ## ⚠️ Projekt Management **Elsődleges forrás**: Plane — `MITHOME` projekt (`pm.llmdev.mozdit.hu`, workspace: `developments`) **Lokális másolat**: Ez a fájl csak referencia, a Plane az authoritative source --- ## ✅ Befejezett | Plane | Feladat | Státusz | |-------|---------|---------| | MITHOME-1 | Repo & Next.js bootstrap — dev szerver | ✅ | | MITHOME-2 | Kezdőlap (Hero + USP + Webmail CTA) | ✅ | | MITHOME-3 | Rólunk oldal | ✅ | | MITHOME-4 | Szolgáltatások oldal | ✅ | | MITHOME-5 | Kapcsolat űrlap + API route | ✅ | | MITHOME-6 | /api/health endpoint | ✅ | | MITHOME-7 | Dockerfile + Docker Compose fejlesztői környezet | ✅ | | MITHOME-8 | Tailwind + design system, dark mode, animációk | ✅ | | MITHOME-9 | JSON alapú content management rendszer | ✅ | | MITHOME-10 | Unit teszt infrastruktúra (Jest + React Testing Library) | ✅ | | MITHOME-11 | Contact API — rate limiting, spam detection, validáció | ✅ | | MITHOME-12 | Docker stack — Next.js + MongoDB + Loki + Grafana | ✅ | | MITHOME-28 | Custom CMS (content-editor.js) UI fejlesztés, Basic Auth & Publikálás gomb | ✅ | | MITHOME-29 | Webmail link (mail.mozdit.hu) és Logo finomhangolás | ✅ | | MITHOME-30 | Bug: Content Editor sérti a JSON struktúrát és adattípusokat | ✅ | | MITHOME-41 | Content Editor: runtime content schema-validáció és atomikus mentés | ✅ | | MITHOME-43 | Content Editor: hozzáférésvédelem, CSRF-védelem és auditnapló | ✅ | | MITHOME-48 | Cache-Control fejléc a statikus assetekre is kihat (perf regresszió) | ✅ | | MITHOME-49 | Elutasított MongoDB client promise cache-elődik | ✅ | | MITHOME-50 | X-Forwarded-For spoofing a Content Editor rate limiterében | ✅ | | MITHOME-51 | Gyenge és ellentmondásos Mongo defaultok a compose fájlokban | ✅ | | MITHOME-52 | Staging banner szöveg kerüljön content JSON-ba | ✅ | | MITHOME-53 | deploy.sh: APP_PORT env nem látszik a shell healthcheckjének | ✅ | | MITHOME-54 | Staging smoke teszt: console-error ellenőrzés szűrése zajra | ✅ | | MITHOME-56 | Content Editor: kilépés (logout) gomb | ✅ | | MITHOME-58 | CMS: kilépés megerősítéssel + logós bejelentkező oldal | ✅ | | MITHOME-59 | CMS: Publikálás (Publish) Git workflow és hibaüzenet javítása | ✅ | | MITHOME-60 | CMS publikálás: deploy csak valódi változásnál + rebase-védelem + tesztek | ✅ | | MITHOME-61 | CMS: optimista zárolás (stale-tab felülírás védelem) | ✅ | | MITHOME-62 | CMS: Safari-kompatibilis hitelesítés (session-only böngésző, natív ablak nélkül) | ✅ | | MITHOME-63 | Deploy-verzió azonosítás: git SHA a CMS-ben és a /api/health-ben | ✅ | | MITHOME-64 | CMS: Verziók panel — mentéslista, diff-nézet és egykattintásos visszaállítás | ✅ | | MITHOME-67 | CMS: törlés gomb után nem futott le az újraindexelés (ritka tömbök) | ✅ | | MITHOME-68 | CMS: saját mentés után ne kapjon 409-et ugyanaz a fül | ✅ | | MITHOME-69 | CMS: stabil alsó sáv — ne vándoroljanak a gombok Mentés/Publikálás közben | ✅ | | MITHOME-70 | Teljeskörű pre-deploy tesztkészlet egyetlen belépési ponttal | ✅ | | MITHOME-71 | CMS verziócímke frissessége: deploy restartolja a CMS-t, editor oldal no-store | ✅ | | MITHOME-72 | CMS publish: deploy-indítás naplózása és robust leválasztás systemd alatt | ✅ | | MITHOME-73 | Lábléc/Kapcsolat cím CMS-szerkeszthetővé tétele (common.json footer.address) | ✅ | | MITHOME-74 | CMS publish deploy: hiányzó cwd — a deploy a gyökérben landolt | ✅ | | MITHOME-75 | CMS: gyorsbillentyűk (Ctrl+S Mentés, Ctrl+P Publikálás, Ctrl+Shift+V Verziók, ? súgó) | ✅ | | MITHOME-76 | CMS: Interaktív logó szerkesztő (vágás, méretezés, forgatás, margó, korrekció) | ✅ | | MITHOME-77 | Fix weboldal higiénia: OG-kép, metadataBase, Header szöveg/nav, holt kód | ✅ | | MITHOME-78 | Contact API: mezőhossz-korlátok | ✅ | | MITHOME-79 | Nitpick: logger substr/version, next.config turbo deprecation, npm audit | ✅ | | MITHOME-80 | Fájlméret-limitek: logo-page/save handler/client refaktor | ✅ | | MITHOME-81 | Minőségi gate: tsc --noEmit + lint a pre-deploy készletbe | ✅ | | MITHOME-82 | Biztonsági monitoring: detektáló script + cron | ✅ | | MITHOME-83 | Partnerek szekció a honlapon (logó + URL, CMS feltöltéssel) | ✅ | | MITHOME-84 | Logószerkesztő: háttér áttetszővé tétele (fehér eltávolítás) | ✅ | --- ## 🚀 TODO (Soron következő — v1.0.1 roadmap) | Plane | Feladat | Státusz | Megjegyzés | |-------|---------|---------|-----------| | MITHOME-13 | CI pipeline — lint + unit tesztek + staging deploy trigger | ⏳ | Elsődleges prioritás | | MITHOME-14 | Playwright E2E smoke tesztek + Lighthouse CI | ⏳ | Elsődleges prioritás | | MITHOME-32 | Bug: staging és production MongoDB URI alapértelmezése nem hitelesített | ⏳ | | | MITHOME-33 | Bug: staging és production Loki host-ra hivatkozik Loki service nélkül | ⏳ | | | MITHOME-34 | Bug: site config minden környezetben development rekordot olvas és ír | ⏳ | | | MITHOME-35 | Bug: aktív Gitea CI nem futtat integration/E2E tesztet és nem indít staging deployt | ⏳ | | | MITHOME-36 | Bug: elavult GitHub/Linear workflow továbbra is aktív szinkronizációt végez | ⏳ | | | MITHOME-42 | Content Editor: ellenőrzött publikálás és natív production release integráció | ⏳ | | | MITHOME-44 | Környezetenkénti Content Release réteg: promotion és rollback | ⏳ | | | MITHOME-45 | Content Editor: felhasználónkénti hitelesítés és auditnapló | ⏳ | | | MITHOME-46 | Központi IDM/SSO réteg több céges alkalmazáshoz | ⏳ | | | MITHOME-47 | Belső vállalati Portal – mozdIT operatív munkaasztal tervezése | ⏳ | | --- ## 🔄 In Progress | Plane | Feladat | Státusz | Megjegyzés | |-------|---------|---------|-----------| | MITHOME-17 | Winston logger + Loki integráció | 🔄 | Winston + LokiTransport már implementálva `src/lib/logger.ts`-ben | | MITHOME-31 | Bug: kapcsolatfelvételi API sikeres választ ad elveszett üzenetre | 🔄 | | --- ## 📋 Backlog (v1.0.2+) ### EPIC: Payload CMS migráció (MITHOME-85) Cél: az ügyfél önállóan, admin felületen szerkeszthesse a tartalmat — a JSON content rendszer (`proto/src/content/pages/*.json`) és a hozzá épült egyedi CMS (`content-editor.js`) lecserélése Payload CMS-re (Next.js App Router-be épülő, MongoDB adapterrel). | Plane | Feladat | Státusz | |-------|---------|---------| | MITHOME-85 | **EPIC**: Áttérés Payload CMS-re (admin felület az ügyfélnek) | 📋 | | MITHOME-86 | Payload CMS alapinstallálás: config, MongoDB adapter, admin route | 📋 | | MITHOME-87 | Home/About/Services/Contact/Common Globals kialakítása és JSON tartalom migrálása | 📋 | | MITHOME-88 | LegalPages collection (adatvedelem, hasznalati-feltetelek) migrálása | 📋 | | MITHOME-89 | Partners + Media collection: logófeltöltés és transparent-logo funkció migrálása | 📋 | | MITHOME-90 | Users collection: ügyfél admin bejelentkezés és access control | 📋 | | MITHOME-91 | Frontend átállítása Payload Local API-ra, JSON content rendszer kivezetése | 📋 | | MITHOME-92 | Draft/preview és verziózás bekapcsolása (Verziók panel utódja) | 📋 | | MITHOME-93 | Régi egyedi CMS (content-editor.js) leépítése | 📋 | | MITHOME-94 | Opcionális: ContactSubmissions collection a Mongoose modell helyett | 📋 | | MITHOME-95 | .agent/ és CLAUDE.md dokumentáció frissítése Payload architektúrára | 📋 | | MITHOME-96 | Tesztek migrálása: content schema tesztek helyett Payload collection/global tesztek | 📋 | | MITHOME-97 | Deploy/Docker frissítés: PAYLOAD_SECRET, admin bundle, Dockerfile/deploy.sh | 📋 | | Plane | Feladat | Státusz | |-------|---------|---------| | MITHOME-15 | Production domain, Nginx reverse proxy és HTTPS | 📋 | | MITHOME-16 | Site config migrálása környezetfüggetlen MongoDB tárolásra | 📋 | | MITHOME-18 | Adatvédelmi tájékoztató oldal (/adatvedelem) — GDPR | 📋 | | MITHOME-19 | Accessibility (A11y) — WCAG 2.1 AA megfelelőség | 📋 | | MITHOME-20 | Lighthouse score ≥ 90 minden kategóriában | 📋 | | MITHOME-21 | Logging middleware megvalósítása | 📋 | | MITHOME-22 | Grafana dashboard konfiguráció | 📋 | | MITHOME-23 | SEO optimalizálás | 📋 | | MITHOME-24 | Performance optimalizálás | 📋 | | MITHOME-25 | Reszponzív design finomítása | 📋 | | MITHOME-26 | Analytics integráció (Plausible / GA4) | 📋 | | MITHOME-27 | Production környezet beállítása — nat��v Node.js/systemd (Iron szerver) | 📋 | | MITHOME-38 | Production: Next.js standalone release, systemd service és rollback | 📋 | | MITHOME-39 | Production: közös natív MongoDB több alkalmazás biztonságos kiszolgálására | 📋 | | MITHOME-40 | Production MongoDB: automatizált mentés, visszaállítási próba és monitoring | 📋 | | MITHOME-55 | Contact API válaszformátum igazítása a projekt konvencióhoz | 📋 | | MITHOME-57 | Felhasználói útmutató (CMS + Honlap) Súgó menüponttal | 📋 | | MITHOME-65 | CMS: logó cseréje feltöltéssel (🎨 Logó oldal) | 📋 | | MITHOME-66 | Copyright sor CMS-szerkeszthetővé tétele (2002–aktuális tartomány) | 📋 | --- ## Technikai Stack - **Frontend**: Next.js 15, TypeScript, Tailwind CSS 4 - **Backend**: Next.js API Routes - **Database**: MongoDB (Mongoose ODM) - **Logging**: Winston + Loki - **Monitoring**: Grafana - **Deployment**: Docker Compose (deploy.sh) - **Testing**: Jest, React Testing Library - **Project Management**: Plane MITHOME (elsődleges) --- ## Fejlesztési Parancsok ```bash # Fejlesztői szerver cd proto && npm run dev # Tesztek cd proto && npm test cd proto && npm run test:all # Build cd proto && npm run build # Docker stack docker-compose -f docker-compose.dev.yml up -d docker-compose -f docker-compose.dev.yml down ``` ### Elérhető szolgáltatások (Docker) - **Weboldal**: http://localhost:3000 - **MongoDB UI**: http://localhost:8081 (admin/password123) - **Grafana**: http://localhost:3001 (admin/admin123) - **Loki**: http://localhost:3100 --- ## Frissítési Napló - **2026-09-10**: Payload CMS migrációs EPIC (MITHOME-85) és 12 alfeladat (MITHOME-86–97) létrehozva Plane-ben — cél: JSON content + egyedi CMS lecserélése Payload-ra, ügyfél önálló admin szerkesztéshez. - **2026-08-17**: Plane sync (`plane-sync.js`). Új MITHOME-27 (Production környezet) Backlog-ba; Custom CMS és Webmail bevéve a Plane-be (28/29, Done). `regenerate()` hiba javítva (szekció-elválasztó). - **2026-08-17**: Plane sync futtatása (`plane-sync.js`). MITHOME-15, MITHOME-18 visszaminősítve Backlog-ba (Plane szerint), MITHOME-27/28 megtartva. - **2026-04-26**: Átállás Linear → Plane (MITHOME projekt). TODO.md teljes újraírva, 26 issue szinkronizálva. - **2025-01-23**: ZEE-29 (Tailwind + layout) és JSON content management befejezése (Linear) - **2025-09-05**: Docker fejlesztői környezet implementálva