# 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). | | 2026-10-20 | Activación de dominio público https://drop.sigmac.app | Pablinux configuró el proxy reverso Apache en CT 150 con SSL Let's Encrypt. Se optimizó `getBaseURL()` para forzar HTTPS en los enlaces y códigos QR generados cuando el Host es `drop.sigmac.app`. | | 2026-10-20 | Identidad visual e iconos multi-formato (SVG, ICO, PNG) | Se diseñó un icono SVG escalable con flecha bidireccional y pulsos de transferencia en colores esmeralda/cian sobre contenedor squircle grafito oscuro. Se generaron versiones PNG (64, 192, 512 px) e ICO multi-resolución, enlazados en el navbar y servidos nativamente en `/favicon.ico` y `/favicon.svg`. | --- ## 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. - Enrutamiento público operativo al 100% en `https://drop.sigmac.app` con SSL. --- ## 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) - [x] Crear icono SVG/PNG/ICO e integrarlo en la cabecera, navbar y servidor HTTP en producción --- ## 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.