Alpha v0.1.0 — KAPPA Hub inicial

- Auth con KAPPA (login + token Bearer)
- Cliente HTTP para 10 endpoints (proyectos, HUs, bitácoras, planeaciones)
- Dashboard multi-proyecto con concepto médico Teloprax
- Calendario colombiano con 19 feriados (Ley Emiliani + Pascua)
- Scheduler tipo cron con Dexie (reglas recurrentes, toasts, log)
- Diseño marca Teloprax: Inter, Space Grotesk, #1A1A2E, rojo #E63946
- Stack: Vue 3 + TypeScript + Pinia + Vite + Bun
This commit is contained in:
2026-05-22 20:18:54 -05:00
commit 66fd4e175a
26 changed files with 2227 additions and 0 deletions
+103
View File
@@ -0,0 +1,103 @@
export interface KappaLoginPayload {
email: string
password: string
}
export interface KappaLoginResponse {
access?: string
token?: string
key?: string
user?: KappaUser
}
export interface KappaUser {
id: number
email: string
first_name: string
last_name: string
username?: string
is_staff?: boolean
}
export interface KappaInitiative {
id: number
name: string
key?: string
description?: string
start_date?: string
end_date?: string
status?: string
created_at?: string
}
export interface KappaUserStory {
id?: number
code?: string
title: string
description?: string
acceptance_criteria?: string
status?: string
priority?: string
initiative: number | string
created_at?: string
}
export interface KappaLogbookMaster {
id?: number
initiative: number | string
name: string
description?: string
created_at?: string
}
export interface KappaLogbookEntry {
id?: number
logbook_master?: number
initiative?: number | string
date: string
description: string
hours?: number
created_at?: string
}
export interface KappaPlanningMaster {
id?: number
initiative: number | string
name: string
description?: string
start_date?: string
end_date?: string
created_at?: string
}
export interface KappaPlanningEntry {
id?: number
planning_master?: number
initiative?: number | string
description: string
responsible?: string
start_date?: string
end_date?: string
created_at?: string
}
export interface KappaBusinessRule {
name: string
description: string
initiative: number | string
}
export interface KappaRequirement {
name: string
description: string
initiative: number | string
type: 'funcional' | 'no_funcional'
name_requirement?: string
}
export interface PaginatedResponse<T> {
count: number
next: string | null
previous: string | null
results: T[]
}