Files
websitedev/TODO.md
T
2026-09-10 03:42:12 +02:00

190 lines
12 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 — natv 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 (2002aktuá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**: MITHOME-87 (Home/About/Services/Contact/Common Globals + JSON migráció) kész. Munka közben két, MITHOME-86-hoz visszanyúló hibát javítottunk: (1) a gyökér src/app/layout.tsx ütközött a Payload (payload)/layout.tsx-ével — a webodal saját route-jai átkerültek egy (frontend) route groupba; (2) a kézzel írt importMap.js stub nem volt elég — tsx 4.22.4→4.23.13 (Node 25 kompatibilitás) után legenerálva a valódit. Mindkettő valós böngészőben ellenőrizve (curl nem buktatta fel korábban). `npm run migrate:content` script + `npm test`/lint/build zöld.
- **2026-09-10**: MITHOME-86 (Payload alapinstalláció) kész: Next.js 15.5→16.3.4 upgrade (Payload peer dep miatt), payload.config.ts + mongooseAdapter + minimális Users collection + admin/API/GraphQL route-ok. Élesben ellenőrizve valódi MongoDB-vel. Ismert nyitott advisory a payload@3.88.0-ban (GHSA-jg8r-5jh2-v2xj), nyomon követve MITHOME-90 alatt. Branch: `feature/payload-cms-setup`.
- **2026-09-10**: Payload CMS migrációs EPIC (MITHOME-85) és 12 alfeladat (MITHOME-8697) 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