# ============================================================================== # SERVICE DESCRIPTOR - GAMILIT WEB # ============================================================================== # Documento de referencia para el frontend de Gamilit # Mantenido por: Frontend-Agent # Actualizado: 2025-12-18 # ============================================================================== version: "1.0.0" # ------------------------------------------------------------------------------ # IDENTIFICACION DEL SERVICIO # ------------------------------------------------------------------------------ service: name: "gamilit-web" display_name: "Gamilit Web" description: "Aplicacion web para la plataforma de gamificacion educativa" type: "frontend" runtime: "node" framework: "react" owner_agent: "NEXUS-FRONTEND" # ------------------------------------------------------------------------------ # CONFIGURACION DE PUERTOS # ------------------------------------------------------------------------------ ports: internal: 3001 registry_ref: "projects.gamilit.services.web" protocol: "http" # ------------------------------------------------------------------------------ # DEPENDENCIAS # ------------------------------------------------------------------------------ dependencies: services: - name: "gamilit-api" type: "backend" required: true url_env: "VITE_API_URL" packages: runtime: - "react" - "react-dom" - "react-router-dom" - "@tanstack/react-query" - "zustand" - "axios" - "tailwindcss" development: - "vite" - "typescript" - "@vitejs/plugin-react" - "vitest" - "@testing-library/react" # ------------------------------------------------------------------------------ # FEATURES # ------------------------------------------------------------------------------ features: auth: description: "Autenticacion de usuarios" pages: - "/login" - "/register" - "/forgot-password" dashboard: description: "Dashboard principal" pages: - "/dashboard" courses: description: "Gestion de cursos" pages: - "/courses" - "/courses/:id" - "/courses/:id/lesson/:lessonId" progress: description: "Progreso del estudiante" pages: - "/progress" - "/achievements" leaderboards: description: "Tablas de clasificacion" pages: - "/leaderboards" profile: description: "Perfil de usuario" pages: - "/profile" - "/settings" # ------------------------------------------------------------------------------ # CONFIGURACION # ------------------------------------------------------------------------------ config: environment_variables: required: - name: "VITE_API_URL" description: "URL del API backend" optional: - name: "VITE_WS_URL" description: "URL de WebSocket" default: "ws://ws.gamilit.localhost" - name: "VITE_APP_NAME" default: "Gamilit" # ------------------------------------------------------------------------------ # DOCKER # ------------------------------------------------------------------------------ docker: image: "gamilit-web" dockerfile: "Dockerfile" build_args: - "VITE_API_URL" networks: - "gamilit_${ENV:-local}" - "infra_shared" labels: traefik: enable: true router: "gamilit-web" rule: "Host(`gamilit.localhost`)" entrypoints: "web" # ------------------------------------------------------------------------------ # HEALTH CHECK # ------------------------------------------------------------------------------ healthcheck: endpoint: "/" interval: "60s" timeout: "5s" retries: 3 start_period: "10s" # ------------------------------------------------------------------------------ # ESTADO # ------------------------------------------------------------------------------ status: phase: "development" version: "0.1.0" last_updated: "2025-12-18" completeness: 15 # ------------------------------------------------------------------------------ # METADATA # ------------------------------------------------------------------------------ metadata: created_at: "2025-12-18" created_by: "Frontend-Agent" project: "gamilit" team: "gamilit-team"