Mike (@mikerb95) CodeByMike

47 requerimientos funcionales agrupados por módulo, con prioridad, estado real de implementación y su origen en el código. 41 de 47 ya están implementados en producción. Filtra por estado o prioridad, o busca por ID, título o ruta.

47
Total req. funcionales
41
Implementados
1
Parciales
5
Planeados
87% en producción
Estado
Prioridad

Sitio público

7/8
RF-001

Listado de proyectos

Implementado

El visitante puede ver los proyectos marcados como visibles, con stack, descripción y enlaces.

Prioridad alta src/pages/index.astro ProjectCard.astro
RF-002

Detalle de proyecto

Implementado

Página individual por proyecto con metadata estructurada (JSON-LD), breadcrumbs y pestaña de observabilidad si tiene monitor asociado.

Prioridad alta src/pages/projects/[slug].astro
RF-003

Formulario de contacto

Implementado

El visitante puede enviar un mensaje que queda asociado a un cliente (si el email coincide) y visible en el CRM.

Prioridad alta src/pages/api/contact.ts
RF-004

Página de estado del sistema

Implementado

Vista pública con uptime de 30 días, incidentes activos y latencia en tiempo real (EKG) por servicio monitoreado.

Prioridad alta src/pages/status src/pages/api/status
RF-005

Vitrina de herramientas y notas

Implementado

Secciones públicas /tools y /notes con artículos técnicos y mocks de herramientas internas.

Prioridad media src/pages/tools src/pages/notes
RF-006

Certificaciones y evolución académica

Implementado

Listado público de certificaciones vigentes/expiradas y línea de tiempo de hitos educativos.

Prioridad media src/pages/certifications EvolutionTimeline.astro
RF-007

SEO técnico

Implementado

JSON-LD, sitemap, RSS, notificación IndexNow y manifest de PWA en cada publicación.

Prioridad media src/pages/rss.xml scripts/indexnow
RF-008

Demo read-only del panel admin

Planeado

Versión pública sin credenciales del panel admin con datos de ejemplo, para mostrar el producto a reclutadores.

Prioridad baja

Autenticación y sesiones

4/4
RF-101

Login con GitHub OAuth

Implementado

El administrador inicia sesión con su cuenta de GitHub; solo los logins en la allowlist obtienen acceso.

Prioridad alta auth.config.ts src/lib/auth.ts
RF-102

Protección de rutas /admin

Implementado

Todas las rutas /admin y /api/admin exigen sesión válida; sin sesión, redirige a login.

Prioridad alta src/middleware.ts
RF-103

Gestión de dispositivos/sesiones

Implementado

El administrador ve las sesiones activas por dispositivo (IP, user-agent, última actividad) y puede revocarlas.

Prioridad media src/pages/admin/sessions.astro admin_sessions
RF-104

Cierre de sesión

Implementado

El administrador puede cerrar su sesión desde cualquier página del panel.

Prioridad media src/pages/api/auth

CRM (proyectos, clientes, seguimiento)

8/8
RF-201

Gestión de proyectos

Implementado

Alta, edición y archivo de proyectos con estado, fechas, stack, cliente asociado y visibilidad pública.

Prioridad alta src/pages/admin/projects projects
RF-202

Gestión de clientes

Implementado

Alta y edición de clientes con datos de contacto y notas internas.

Prioridad alta src/pages/admin/clients.astro clients
RF-203

Bandeja de mensajes

Implementado

El administrador ve, marca como leídos y responde mensajes recibidos por el formulario público.

Prioridad alta src/pages/admin/messages.astro messages
RF-204

Seguimiento comercial (interacciones)

Implementado

Registro de llamadas, reuniones, notas y tareas pendientes por cliente/proyecto, con recordatorios (nextAction/dueDate).

Prioridad alta src/pages/admin/seguimiento.astro interactions
RF-205

Briefings de cliente

Implementado

Documento de alcance por proyecto con objetivo, presupuesto estimado/acordado, horas e ítems (requerimiento/entregable/exclusión).

Prioridad media src/pages/admin/briefings briefings briefing_items
RF-206

Contactos por proyecto

Implementado

Registro de contactos (cliente, PM, dev, QA, diseño) asociados a un proyecto.

Prioridad baja project_contacts
RF-207

Decisiones de arquitectura (ADRs)

Implementado

Registro de decisiones técnicas por proyecto con contexto, decisión, justificación y alternativas consideradas; opcionalmente públicas.

Prioridad media project_adrs
RF-208

Presentaciones (slides) para cliente

Implementado

Creación de presentaciones ligadas a un proyecto con control remoto de avance de diapositivas en tiempo real.

Prioridad baja src/pages/admin/slides presentations

Finanzas

5/5
RF-301

Registro de ingresos

Implementado

Alta de cobros por proyecto/cliente con estado (cobrado/pendiente/proyectado) y fecha de vencimiento.

Prioridad alta src/pages/admin/finances.astro finances
RF-302

Costos y P&L por proyecto

Implementado

Registro de costos de servicios (hosting, dominio, DB, etc.) con quién paga y cuánto se le factura al cliente, para calcular la rentabilidad real.

Prioridad alta src/pages/admin/costs.astro project_services src/lib/pnl.ts
RF-303

Bóveda cifrada de credenciales

Implementado

Secrets de servicios (API keys, tokens) cifrados con AES-256-GCM en reposo, revelados on-demand vía fetch autenticado.

Prioridad alta src/lib/crypto.ts project_services.secrets
RF-304

Variables de entorno por proyecto

Implementado

Registro cifrado de variables de entorno por ambiente (producción/staging/dev) para cada proyecto gestionado.

Prioridad media project_env_vars
RF-305

Alertas de vencimiento de dominios

Implementado

Descubrimiento automático de fecha de expiración vía RDAP y alerta por email/push antes del vencimiento.

Prioridad media src/pages/admin/domains.astro src/lib/domains.ts

Observabilidad

6/6
RF-401

Monitoreo de disponibilidad

Implementado

Checks HTTP periódicos (cron externo) por servicio, con umbral de latencia degradada y validación de contenido esperado.

Prioridad alta monitors src/pages/api/cron
RF-402

Historial de incidentes

Implementado

Agrupación automática de caídas consecutivas (primer fallo → primer éxito) con causa y duración.

Prioridad alta monitor_incidents
RF-403

SLO / error budget

Implementado

Cálculo de SLI/SLO configurable (objetivo % y ventana en días) por monitor, con presupuesto de error restante.

Prioridad media src/pages/admin/lab/slo.astro src/lib/slo.ts
RF-404

Notificaciones push

Implementado

Alertas push (ntfy.sh) ante caídas de monitores, vencimientos de dominio y anomalías de seguridad.

Prioridad media src/lib/notify.ts
RF-405

Web Vitals (RUM)

Implementado

Captura de Core Web Vitals de visitantes reales, sin PII, para calcular p75 públicos.

Prioridad baja web_vitals src/lib/vitals.ts
RF-406

Certificados TLS

Implementado

Verificación periódica de expiración de certificado TLS por monitor con badge de alerta.

Prioridad baja monitors.sslExpiresAt

LAB (SENA)

4/7
RF-501

Pipeline CI/CD con rollback

Implementado

Registro de runs de CI (GitHub Actions) con tests, cobertura, health check post-deploy y rollback automático si falla.

Prioridad alta ci_runs src/pages/admin/lab/pipeline.astro
RF-502

Pasarela de pagos con idempotencia

Implementado

Cobros con clave de idempotencia única, máquina de estados sin retrocesos y bitácora de eventos de webhook (incl. duplicados y fuera de orden).

Prioridad alta payments payment_events src/lib/payments.ts
RF-503

Chaos engineering

Implementado

Inyección de fallos reales (500, 503, latencia) por ruta con TTL obligatorio y kill-switch de pánico; /admin y /api/auth excluidos por código.

Prioridad media chaos_flags src/lib/chaos.ts
RF-504

Historial de experimentos

Implementado

Bitácora de experimentos del LAB con resultado esperado vs. real, como evidencia para sustentación.

Prioridad baja lab_experiments
RF-505

Pruebas de carga (k6)

Planeado

Escenarios de carga automatizados contra endpoints críticos, integrados al pipeline.

Prioridad media
RF-506

SAST / accesibilidad automatizada

Planeado

Análisis estático de seguridad y auditoría de accesibilidad en cada PR.

Prioridad media
RF-507

Mutation testing

Planeado

Medición de calidad real de la suite de tests mediante mutantes.

Prioridad baja

Seguridad (micro-SIEM)

4/6
RF-601

Sensor de requests hostiles

Implementado

Clasificación de cada request por firmas conocidas (OWASP) de forma síncrona y no bloqueante en el middleware.

Prioridad alta src/lib/security/sensor.ts classify.ts
RF-602

Blocklist de IPs

Implementado

Bloqueo (manual o automático) de IPs con TTL obligatorio y respuesta 403 seca; sin bloqueos eternos.

Prioridad alta blocked_ips src/lib/security/blocklist.ts
RF-603

Rate limiting durable

Implementado

Límite de tasa por clave respaldado en base de datos, que sobrevive a redeploys (reemplaza la implementación en memoria).

Prioridad alta rate_limit_buckets src/lib/security/ratelimit-durable.ts
RF-604

Agregación y rollups

Implementado

Agregados horarios/diarios de eventos de seguridad por categoría para tendencias y detección de anomalías.

Prioridad media security_rollups
RF-605

Detección de anomalías

Parcial

Detector estadístico (z-score sobre baseline de 30 días) de picos, patrones nuevos, anomalías geográficas y ráfagas de error.

Prioridad media security_anomalies
RF-606

Panel de seguridad consolidado

Planeado

Vista en /admin con eventos, anomalías y acciones de respuesta (bloquear IP, marcar revisado).

Prioridad media

Sistema

3/3
RF-701

Backups automáticos

Implementado

Snapshot periódico de la base de datos subido a Vercel Blob vía cron, más creación manual desde el panel.

Prioridad alta src/pages/admin/backup.astro src/pages/api/cron
RF-702

Ajustes de la aplicación

Implementado

Configuración clave-valor (tasas de cambio, moneda base) editable desde el panel.

Prioridad baja app_settings src/pages/admin/settings.astro
RF-703

Documentación de ingeniería

Implementado

Requerimientos, casos de uso, diagramas UML y kanban del propio proyecto, navegables desde /docs.

Prioridad media src/pages/docs