Structure: - control-plane/: Registries, SIMCO directives, CI/CD templates - projects/: Gamilit, ERP-Suite, Trading-Platform, Betting-Analytics - shared/: Libs catalog, knowledge-base Key features: - Centralized port, domain, database, and service registries - 23 SIMCO directives + 6 fundamental principles - NEXUS agent profiles with delegation rules - Validation scripts for workspace integrity - Dockerfiles for all services - Path aliases for quick reference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
157 lines
4.2 KiB
YAML
157 lines
4.2 KiB
YAML
# ==============================================================================
|
|
# 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"
|