188 lines
11 KiB
Markdown
Executable File
188 lines
11 KiB
Markdown
Executable File
# 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
|