74 lines
2.8 KiB
Markdown
74 lines
2.8 KiB
Markdown
# Panel de Gestión de Bases de Datos (SvelteKit Migration)
|
|
|
|
Este proyecto es una migración moderna del panel de control legacy `TransmitirAS`, reconstruido utilizando **SvelteKit 2.0** y **Svelte 5 (Runes)**.
|
|
|
|
## Características
|
|
|
|
- **Tech Stack**: SvelteKit, TypeScript, Node.js (MSSQL), Bootstrap 5.
|
|
- **Server-Side Rendering (SSR)**: Todos los datos se cargan en el servidor para una carga inicial rápida y SEO/Performance óptimo.
|
|
- **Base de Datos**: Conexión a múltiples instancias SQL Server (Local, Remota, Azure).
|
|
- **Diseño**: Interfaz "Glassmorphism" portada fielmente del original.
|
|
|
|
## Requisitos Previos
|
|
|
|
- **Node.js**: v18 o superior.
|
|
- **SQL Server**: Acceso a las instancias de base de datos definidas en `.env`.
|
|
|
|
```bash
|
|
docker build \
|
|
-t dev.aduanasoft.com:8443/databases_a24c/frontend:latest \
|
|
-f ./Dockerfile \
|
|
./
|
|
```
|
|
|
|
Subirlas a harbor
|
|
|
|
```
|
|
docker login dev.aduanasoft.com:8443
|
|
docker push dev.aduanasoft.com:8443/databases_a24c/frontend:latest
|
|
```
|
|
|
|
## Configuración
|
|
|
|
1. **Instalar dependencias**:
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
2. **Variables de Entorno**:
|
|
El archivo `.env` ya ha sido configurado con las credenciales migradas. Asegúrese de que la máquina donde se ejecuta esto tenga acceso de red a las IPs:
|
|
- 192.168.1.200 (Primaria)
|
|
- 104.192.7.202 (Secundaria)
|
|
- aduanasoft.database.windows.net (Azure)
|
|
|
|
3. **Ejecutar en Desarrollo**:
|
|
```bash
|
|
npm run dev
|
|
```
|
|
Abrir [http://localhost:5173](http://localhost:5173) en el navegador.
|
|
|
|
4. **Construir para Producción**:
|
|
```bash
|
|
npm run build
|
|
npm run preview
|
|
```
|
|
|
|
## Estructura del Proyecto
|
|
|
|
- `src/lib/server/db.ts`: Lógica de conexión a base de datos (Pools).
|
|
- `src/routes/+page.server.ts`: Controlador principal. Realiza todas las consultas SQL y lectura de archivos antes de renderizar.
|
|
- `src/routes/+page.svelte`: Vista principal. Gestiona la navegación por pestañas y tablas.
|
|
- `src/lib/components/`: Componentes reutilizables (`Navbar`, `Sidebar`).
|
|
- `src/app.css`: Estilos globales y tema Glass.
|
|
|
|
## Integración CloudRestoreAS
|
|
|
|
- Endpoints servicio-a-servicio bajo `/api/restore/` (token `CLOUDRESTORE_API_TOKEN` en `.env`).
|
|
- **Servidores de Restauración** (`/servidores-restauracion`): admin de Alfa/Omega/Gamma y carpeta de entrada reportada por CloudRestoreAS (solo lectura).
|
|
- Contrato y prueba local: ver `INTEGRACION_PANEL.md` en el repo CloudRecoveryAS (mismo token en `CLOUDRESTORE_API_TOKEN` y en la config PANEL de CloudRestoreAS).
|
|
|
|
## Notas de Migración
|
|
|
|
- **DataTables**: Se inicializan en el cliente dentro de `onMount` para mantener la compatibilidad con las tablas interactivas originales.
|
|
- **Sistema de Archivos**: La lectura de backups busca en `BACKUP_PATH` en el servidor donde corre Node.js (independiente de la carpeta que vigila CloudRestoreAS).
|