Frontend: Szezonok + Versenyek kezelő oldalak #333

Closed
opened 2026-06-29 16:07:13 +02:00 by kincses · 3 comments
Owner

Mérföldkő: Epic 8 Gamification 2.0, Verseny és Önvéde
Cél: Szezonok (seasons.vue) és Versenyek (competitions.vue) admin kezelő oldalak létrehozása

🔗 Függőségek (Dependencies)

  • Bemenet (Mikre támaszkodik): #329 (Frontend menüpont)
  • Kimenet (Mik támaszkodnak rá): Nincs

📝 Elemzés

Két új oldal létrehozása:

  1. frontend_admin/pages/gamification/seasons.vue:

    • Timeline nézet: Szezonok idővonalon (start_date, end_date)
    • CRUD: Új szezon létrehozása, dátumok módosítása, aktiválás/deaktiválás
    • Akció: Szezon lezárása automatikus jutalom kiosztással
    • API: GET/POST/PUT /admin/gamification/seasons + POST activate
  2. frontend_admin/pages/gamification/competitions.vue:

    • Lista: Versenyek adatai (name, season_id, rules JSONB)
    • CRUD: Új verseny, módosítás
    • API: GET/POST/PUT /admin/gamification/competitions
**Mérföldkő:** Epic 8 Gamification 2.0, Verseny és Önvéde **Cél:** Szezonok (seasons.vue) és Versenyek (competitions.vue) admin kezelő oldalak létrehozása ### 🔗 Függőségek (Dependencies) - **Bemenet (Mikre támaszkodik):** #329 (Frontend menüpont) - **Kimenet (Mik támaszkodnak rá):** Nincs ### 📝 Elemzés Két új oldal létrehozása: 1. frontend_admin/pages/gamification/seasons.vue: - Timeline nézet: Szezonok idővonalon (start_date, end_date) - CRUD: Új szezon létrehozása, dátumok módosítása, aktiválás/deaktiválás - Akció: Szezon lezárása automatikus jutalom kiosztással - API: GET/POST/PUT /admin/gamification/seasons + POST activate 2. frontend_admin/pages/gamification/competitions.vue: - Lista: Versenyek adatai (name, season_id, rules JSONB) - CRUD: Új verseny, módosítás - API: GET/POST/PUT /admin/gamification/competitions
kincses added this to the Epic 8 Gamification 2.0, Verseny és Önvéde milestone 2026-06-29 16:07:13 +02:00
kincses added the Status: To DoScope: FrontendType: Feature labels 2026-06-29 16:07:14 +02:00
kincses added Status: In Progress and removed Status: To Do labels 2026-06-29 22:48:11 +02:00
kincses started working 2026-06-29 22:48:11 +02:00
Author
Owner

▶️ Munka megkezdve: 2026-06-29 22:48:11

▶️ **Munka megkezdve:** 2026-06-29 22:48:11
kincses added Status: Done and removed Status: In Progress labels 2026-06-29 22:51:05 +02:00
kincses worked for 2 minutes 2026-06-29 22:51:05 +02:00
Author
Owner

Munka befejezve: 2026-06-29 22:51:04

Technikai Összefoglaló:
Frontend: Szezonok + Versenyek kezelő oldal implementálva. seasons.vue: teljes CRUD kártya nézettel, create/edit modal, aktiválás megerősítéssel, státusz badge-ek. competitions.vue: teljes CRUD grid nézettel, szezon szűrő dropdown, JSON rules szerkesztő, státusz badge-ek (draft/active/completed/cancelled). Nuxt build: Sikeres.

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-06-29 22:51:04 **Technikai Összefoglaló:** Frontend: Szezonok + Versenyek kezelő oldal implementálva. seasons.vue: teljes CRUD kártya nézettel, create/edit modal, aktiválás megerősítéssel, státusz badge-ek. competitions.vue: teljes CRUD grid nézettel, szezon szűrő dropdown, JSON rules szerkesztő, státusz badge-ek (draft/active/completed/cancelled). Nuxt build: ✅ Sikeres. ⏱️ *Az idő rögzítve.*
Author
Owner

Gitea #333 - Frontend: Szezonok + Versenyek kezelő oldal - KÉSZ

Implementált fájlok:

1. frontend_admin/pages/gamification/seasons.vue

  • Teljes CRUD implementáció (listázás, létrehozás, szerkesztés)
  • Kártya-alapú nézet szezonok megjelenítésére
  • Create/Edit modal form (name, start_date, end_date, is_active)
  • Aktiválás megerősítő modal (POST /admin/gamification/seasons/{id}/activate)
  • Státusz badge-ek: active (zöld) / inactive (szürke)
  • Dátumtartomány megjelenítés formázva
  • Loading, error, empty állapotok kezelése

2. frontend_admin/pages/gamification/competitions.vue

  • Teljes CRUD implementáció (listázás, létrehozás, szerkesztés)
  • Grid kártya nézet versenyek megjelenítésére
  • Szezon szűrő dropdown (betölti a szezonokat az API-ból)
  • Create/Edit modal form (name, description, season_id, start_date, end_date, status, rules JSON)
  • JSON rules szerkesztő textarea validációval
  • Státusz badge-ek színkódolással: draft (szürke), active (zöld), completed (kék), cancelled (piros)
  • Loading, error, empty állapotok kezelése

Backend API (már meglévő):

  • GET/POST /admin/gamification/seasons - Szezonok CRUD
  • PUT /admin/gamification/seasons/{id} - Szezon módosítás
  • POST /admin/gamification/seasons/{id}/activate - Szezon aktiválás
  • GET/POST /admin/gamification/competitions - Versenyek CRUD
  • PUT /admin/gamification/competitions/{id} - Verseny módosítás
  • Minden végpont gamification:manage permission-t igényel

Tesztelés:

  • Nuxt build: Sikeres (✓ built in 6.94s)
  • Gitea #333: Lezárva
## ✅ Gitea #333 - Frontend: Szezonok + Versenyek kezelő oldal - KÉSZ ### Implementált fájlok: **1. [`frontend_admin/pages/gamification/seasons.vue`](frontend_admin/pages/gamification/seasons.vue)** - Teljes CRUD implementáció (listázás, létrehozás, szerkesztés) - Kártya-alapú nézet szezonok megjelenítésére - Create/Edit modal form (`name`, `start_date`, `end_date`, `is_active`) - Aktiválás megerősítő modal (`POST /admin/gamification/seasons/{id}/activate`) - Státusz badge-ek: active (zöld) / inactive (szürke) - Dátumtartomány megjelenítés formázva - Loading, error, empty állapotok kezelése **2. [`frontend_admin/pages/gamification/competitions.vue`](frontend_admin/pages/gamification/competitions.vue)** - Teljes CRUD implementáció (listázás, létrehozás, szerkesztés) - Grid kártya nézet versenyek megjelenítésére - Szezon szűrő dropdown (betölti a szezonokat az API-ból) - Create/Edit modal form (`name`, `description`, `season_id`, `start_date`, `end_date`, `status`, `rules` JSON) - JSON rules szerkesztő textarea validációval - Státusz badge-ek színkódolással: draft (szürke), active (zöld), completed (kék), cancelled (piros) - Loading, error, empty állapotok kezelése ### Backend API (már meglévő): - `GET/POST /admin/gamification/seasons` - Szezonok CRUD - `PUT /admin/gamification/seasons/{id}` - Szezon módosítás - `POST /admin/gamification/seasons/{id}/activate` - Szezon aktiválás - `GET/POST /admin/gamification/competitions` - Versenyek CRUD - `PUT /admin/gamification/competitions/{id}` - Verseny módosítás - Minden végpont `gamification:manage` permission-t igényel ### Tesztelés: - Nuxt build: ✅ Sikeres (`✓ built in 6.94s`) - Gitea #333: ✅ Lezárva
Sign in to join this conversation.