Files
Alpha/docs/arquitectura_alpha.md
T

8.6 KiB

Alpha — Documento Técnico

Alpha = KAPPA Hub. Aplicación Tauri + Vue 3 para gestión multi-proyecto. Semilla de RUMBO. POC en producción como herramienta de Business Analyst.

Versión: 0.1.0 | Fecha: 2026-05-26 | Autor: Ricardo Gonzalez (Teloprax)


1. Stack tecnológico

Capa Tecnología Versión
Desktop shell Tauri v2 2.11
Frontend Vue 3 + TypeScript + Vite 3.4 / 5.x
Runtime JS Bun 1.3+
Estado Pinia 2.1
Base de datos local Turso (libSQL) Embedded
Cache navegador Dexie.js (IndexedDB) 4.0
UI Components shadcn-vue (reka-ui) 2.7 / New York
Estilos Tailwind CSS v4 4.3
Tablas @tanstack/vue-table → AG Grid 8.21 / planned
i18n vue-i18n 11.4
Iconos Lucide + Tabler Icons
HTTP fetch() nativo
Auth Bearer token KAPPA

2. Arquitectura

┌──────────────────────────────────────────────┐
│                  Alpha (Tauri)                │
│                                              │
│  ┌──────────┐  ┌───────────┐  ┌───────────┐  │
│  │ Vue 3 FE │  │  Pinia    │  │  Dexie.js │  │
│  │ (Vite)   │  │  Stores   │  │ (offline) │  │
│  └────┬─────┘  └───────────┘  └───────────┘  │
│       │                                       │
│  ┌────┴──────────────────────────────────┐   │
│  │         Rust Backend (Tauri)           │   │
│  │  ┌─────────┐  ┌────────────────────┐  │   │
│  │  │ Commands│  │  Turso/libSQL DB   │  │   │
│  │  │ (invoke)│  │  ~/Library/...     │  │   │
│  │  └─────────┘  │  alpha.db          │  │   │
│  │               └────────────────────┘  │   │
│  └───────────────────────────────────────┘   │
│                                               │
│  ┌───────────────────────────────────────┐   │
│  │         Vite Dev Proxy                 │   │
│  │  /api → kappa.lambdaanalytics.co       │   │
│  └───────────────────────────────────────┘   │
└──────────────────────────────────────────────┘

2.1 Flujo de datos

  1. Auth: Login → Bearer token → localStorage → Pinia store
  2. KAPPA sync: fetch() vía proxy Vite → store Pinia → opcional cache Dexie
  3. Datos locales: Tauri invoke → Rust commands → Turso/libSQL → retorna JSON al frontend
  4. Offline: Dexie.js guarda cache del scheduler y datos de sesión

2.2 Base de datos local (Turso)

Archivo: ~/Library/Application Support/com.teloprax.alpha/alpha.db

Tablas actuales:

  • projects — caché de iniciativas KAPPA
  • work_items — caché de historias de usuario y tareas

Tablas planeadas (módulo usuarios):

  • users — cache KAPPA + campos locales (rol, seniority, célula)
  • cells — células/equipos
  • cell_members — relación usuario ↔ célula
  • project_members — relación usuario ↔ proyecto
  • absences — ausencias (vacaciones, permisos)
  • daily_logs — registro diario por usuario
  • performance_snapshots — métricas calculadas

3. Estructura del proyecto

kappa-hub/
├── src/                          # Frontend Vue 3
│   ├── components/
│   │   ├── ui/                   # shadcn-vue (30+ componentes)
│   │   ├── dashboard/            # Cards, tabla, sidebar, charts
│   │   ├── AppSidebar.vue        # Navegación principal
│   │   ├── NavProjects.vue       # Selector de proyectos
│   │   └── NavUser.vue           # Perfil de usuario
│   ├── views/
│   │   ├── LoginView.vue         # Auth
│   │   ├── NewDashboardView.vue  # Dashboard multi-sección
│   │   ├── ProjectListView.vue   # Lista de proyectos
│   │   ├── CalendarView.vue      # Calendario colombiano
│   │   └── SchedulerView.vue     # Recetas automáticas
│   ├── stores/                   # Pinia
│   │   ├── auth.ts               # Autenticación
│   │   ├── projects.ts           # Proyectos KAPPA
│   │   ├── workitems.ts          # Work items
│   │   └── scheduler.ts          # Reglas + logs
│   ├── services/
│   │   ├── kappa-api.ts          # Cliente HTTP KAPPA
│   │   ├── calendar.ts           # Feriados Colombia + días hábiles
│   │   └── scheduler.ts          # Motor de recetas
│   ├── types/kappa.ts            # Tipos TypeScript KAPPA
│   ├── i18n/                     # es.json, en.json
│   └── composables/              # useSearch, useTheme
├── src-tauri/                    # Backend Rust
│   ├── src/
│   │   ├── main.rs               # Entry point, comandos Tauri
│   │   └── db.rs                 # Operaciones Turso/libSQL
│   ├── tauri.conf.json           # Config Tauri
│   └── icons/                    # Iconos app (macOS, Windows, iOS, Android)
└── public/                       # Assets estáticos
    └── Alpha.svg                 # Logo vectorial

4. APIs KAPPA integradas

Endpoint Método Uso
/users/login/ POST Auth
/users/all/ GET Listar usuarios
/initiatives-all/ GET Listar proyectos
/userstorys/ GET HUs por proyecto
/userstorys/create/ POST Crear HU
/logbooks/ GET Bitácoras
/logbooks_master/create/ POST Crear bitácora
/logbooks/create/ POST Entrada bitácora
/plannings/ GET Planeaciones
/plannings_master/create/ POST Crear planeación
/plannings/create/ POST Entrada planeación
/business-rules/ GET Reglas de negocio
/business-rules/create/ POST Crear regla
/functionalrequirements/ GET Requisitos
/functionalrequirements/create/ POST Crear requisito
/employees/ GET (paginado) Usuarios ↔ proyectos

5. Autenticación

  • Método: Bearer token (JWT de Django REST)
  • Almacenamiento: localStorage (kappa_token)
  • Flujo: Login → POST /users/login/ → token → header Authorization: Bearer <token>
  • Persistencia: Recordar email en alpha_remember_email
  • Proxy dev: Vite redirige /api/*https://kappa.lambdaanalytics.co

6. Sincronización entre máquinas

  • Código: iCloud Drive (com~apple~CloudDocs/AI/Teloprax/)
  • Datos KAPPA: Servidor remoto (el Hub es solo cliente)
  • Token: localStorage del navegador (logueo por máquina)
  • Turso DB: Local por máquina (~/Library/Application Support/)

7. Decisiones técnicas

Decisión Razón
Tauri v2 en vez de Electron Binario <10MB, RAM <50MB, Rust nativo
Turso/libSQL en vez de SQLite puro Compatible SQLite, embedded, MCP server built-in
Dexie.js para offline IndexedDB wrapper, API simple, ya integrado
shadcn-vue New York Estilo moderno, copiable, Tailwind v4 nativo
Bun runtime Más rápido que npm/yarn, compatible con Node
fetch() nativo Sin dependencia axios, suficiente para REST
AG Grid (planeado) Reemplaza @tanstack/vue-table para tablas complejas

8. Roadmap técnico

Fase Alcance Estado
Auth + Proyectos Login, listado, dashboard individual
Layout + Navegación Sidebar, tabs, shadcn-vue
Calendario Feriados Colombia, Ley Emiliani
Scheduler Recetas automáticas, Dexie, notificaciones
i18n Español/Inglés
Tauri Migración web → desktop app
Módulo Usuarios AG Grid, Turso, roles, células 🔜 F1
Métricas PMI SPI, CPI, Velocity, Burndown 🔜 F4
Daily Registro diario + recálculo 🔜 F5
Calendarios externos Google/Outlook OAuth2 K-21
Alertas post-reunión Detección fin reunión → captura K-22