# 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 ` - **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 |