54 lines
3.4 KiB
Markdown
54 lines
3.4 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). |
|
|
|
|
---
|
|
|
|
## 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`.
|
|
- Documentación e integración de infraestructura sincronizada con el MCP y global `infraestructura.md`.
|
|
|
|
---
|
|
|
|
## 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 2006
|
|
|
|
---
|
|
|
|
## 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.
|