feat: implementar webapp app_compartir con visor universal, auth y purga 24h para guest

This commit is contained in:
2026-10-13 22:46:02 -05:00
parent 6ea00e4ec5
commit 8519590cc7
24 changed files with 2970 additions and 71 deletions
+43 -7
View File
@@ -1,6 +1,22 @@
# app_compartir
Módulo / Servicio del ecosistema Telcotronics en Go.
Aplicación web de alto rendimiento en Go para compartir archivos, fotos, documentos y texto/código al instante entre dispositivos (móvil y PC), sin depender de clientes de mensajería como WhatsApp.
---
## Características
- ⚡ **Sin fricción:** Subida mediante Drag & Drop, selección de archivos, pegado desde portapapeles (`Ctrl+V`) o editor de notas/código.
- 📱 **QR instantáneo:** Generación automática de código QR para escanear y abrir de inmediato en el teléfono.
- 👁️ **Visor universal (`/v/{id}`):**
- **Imágenes:** Zoom interactivo, pantalla completa y alta fidelidad.
- **Video y Audio:** Reproductor HTML5 integrado.
- **PDFs:** Visor interactivo incrustado en el navegador.
- **Texto y Código:** Formato monospace con botón para copiar al portapapeles en 1 clic.
- **Otros archivos:** Ficha de descarga con detección de tipo MIME y peso exacto.
- ⏳ **Política de retención 24h para invitados:**
- Los archivos subidos en **Modo Invitado (Guest)** se purgan automáticamente tras 24 horas del disco y de la base de datos.
- Los usuarios autenticados con **WebControl** o **Google OAuth** disponen de **almacenamiento permanente** y panel de gestión para sus archivos.
---
@@ -8,18 +24,38 @@ Módulo / Servicio del ecosistema Telcotronics en Go.
- Go 1.22+
## Instalación
## Instalación y Arranque
```bash
# go mod download
# Copiar variables de entorno
cp .env.example .env
# Descargar dependencias y compilar
go mod tidy
go build -o app_compartir main.go
# Ejecutar el servidor (puerto 8085 por defecto)
./app_compartir
```
## Variables de entorno
---
## Variables de Entorno
| Variable | Descripción | Default |
|---|---|---|
| [COMPLETAR] | [COMPLETAR] | [COMPLETAR] |
| `PORT` | Puerto de escucha HTTP | `8085` |
| `BASE_URL` | URL pública de la aplicación | `http://localhost:8085` |
| `DATA_DIR` | Carpeta para base de datos y uploads | `./data` |
| `SESSION_SECRET` | Clave secreta para cookies de sesión | `super-secret-...` |
| `WEBCONTROL_API_URL` | URL de la API de WebControl | `https://api.siax-system.net` |
| `GOOGLE_CLIENT_ID` | Client ID de Google OAuth | (opcional) |
| `GOOGLE_CLIENT_SECRET` | Client Secret de Google OAuth | (opcional) |
## Licencia
---
Propiedad de Telcotronics. Todos los derechos reservados.
## Pruebas automatizadas
```bash
go test -v ./...
```