workspace-v1/projects/gamilit/apps/frontend/service.descriptor.yml
Adrian Flores Cortes 967ab360bb Initial commit: Workspace v1 with 3-layer architecture
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>
2025-12-23 00:35:19 -06:00

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"