Files
app_compartir/.agente/proyecto_memoria.md
T

61 lines
4.5 KiB
Markdown

# proyecto_memoria.md — Memoria técnica del proyecto
> Decisiones tomadas, razonamiento detrás de cada elección y estado actual.
> Actualizar con cada decisión técnica relevante.
---
## Decisiones técnicas
| Fecha | Decisión | Razonamiento |
|---|---|---|
| 2026-10-12 | Inicialización de la estructura estándar de documentación de agentes | Estandarización bajo el ecosistema Telcotronics. |
| 2026-10-12 | Política de caducidad 24h exclusiva para usuarios Guest | El usuario solicitó explícitamente que los archivos subidos por invitados se eliminen a las 24 horas, mientras que los usuarios registrados (Google OAuth / WebControl) mantengan sus archivos de manera permanente. |
| 2026-10-12 | Visor integrado universal para evitar depender de WhatsApp | Permite abrir imágenes, reproducir video/audio, leer PDFs y ver texto o código directamente desde el navegador sin apps externas. |
| 2026-10-12 | Backend autónomo en Go con SQLite | Binario único de alto rendimiento, bajo consumo de memoria y concurrencia nativa con goroutine para la limpieza periódica. |
| 2026-10-13 | Generación de QR nativa en Go vía `/qr/{id}` | Se utiliza `github.com/skip2/go-qrcode` para servir el QR directamente en formato PNG (256x256), garantizando compatibilidad total con cualquier cámara de smartphone sin depender de scripts cliente pesados. |
| 2026-10-13 | Soporte doble de login: WebControl corporativo + Google OAuth | Brinda flexibilidad tanto para colaboradores del ecosistema Telcotronics (vía `api.siax-system.net`) como para usuarios externos con Google. |
| 2026-10-14 | Adopción de la marca y dominio `drop.sigmac.app` | Nombre conciso, memorable y alineado con los servicios y subdominios del ecosistema SIGMA (sigmac.app). |
| 2026-10-17 | Registro oficial en MCP Infraestructura (ID 34) e identidad de agente | Se vinculó el proyecto al inventario central MariaDB vía API REST (:3007), asignando ID 34 bajo categoría application, y se creó `id_agente.md` según el estándar de identidad del ecosistema. |
| 2026-10-19 | Despliegue en producción en CT 132 con supervisión SIAX Monitor | Se desplegó en `server-webapps`. Registrado en SIAX Monitor (:8080) como `siax-app-DROP_SIGMAC_APP.service`, habilitando reinicio atómico vía API sin sudo. |
| 2026-10-20 | Reasignación de puerto a 2008 para liberar 2006 a audio_control | Se acordó con pablinux liberar el puerto 2006 para `audio_control` (correlativo a SoundWave en 2005) y trasladar `drop.sigmac.app` al puerto 2008 en CT 132 y MCP Infraestructura (ID 34). |
---
## Estado actual
Versión funcional completa y validada:
- Subida de archivos por Drag & Drop, selección o pegado directo con `Ctrl+V`.
- Subida de notas/código con pestaña interactiva.
- Visor universal adaptativo con vista previa multimedia, lector de PDF y código con botón de copia.
- Purga automática cada 10 minutos para archivos guest > 24h (test automatizado superado en `main_test.go`).
- Cuentas registradas con almacenamiento permanente y panel `/mis-archivos`.
- Registrado oficialmente en el MCP de Infraestructura (ID 34) y sincronizado con espejo local `.agente/infraestructura.md`.
- Desplegado y ejecutándose activamente en producción (CT 132 puerto 2008) supervisado por SIAX Monitor.
---
## Tareas implementadas
- [x] Implementar base de datos SQLite y esquema de tablas (`shares`, `users`, `sessions`)
- [x] Implementar endpoints HTTP de subida (`/api/upload`, `/api/share-text`)
- [x] Implementar visor universal `/v/{id}` (HTML + Tailwind + QR)
- [x] Implementar worker de purga de archivos guest vencidos (24 horas)
- [x] Implementar auth con WebControl (`api.siax-system.net`) y Google OAuth2
- [x] Implementar panel "Mis Archivos" para usuarios autenticados
- [x] Sincronizar sección de infraestructura en global e internal para MCP
- [x] Crear scripts de despliegue estándar (`desplegar.sh`, `init.sh`, `servers.conf.example`)
- [x] Integrar servicio systemd para SIAX Monitor (`siax-app-DROP_SIGMAC_APP.service`)
- [x] Soporte para proxy reverso dinámico Apache (`X-Forwarded-Proto`, `Host`) en puerto 2008
- [x] Registrar proyecto en MCP de Infraestructura (ID 34) y crear `id_agente.md` oficial
- [x] Desplegar en producción en `server-webapps` (CT 132, :2008) y registrar en SIAX Monitor (:8080)
---
## Notas y observaciones
- Los archivos se almacenan en `data/uploads/` y la base de datos en `data/compartir.db`.
- Los slugs son de 7 caracteres alfanuméricos no ambiguos generados criptográficamente.
- Las sesiones de invitados se manejan mediante cookies seguras HTTP-only para permitir el flujo sin fricción.