ProyectoGrupal/doli-front/README.md

104 lines
3.3 KiB
Markdown
Raw Normal View History

# doli-front
SPA (Single Page Application) para la gestión empresarial integrada con Dolibarr.
Desarrollada en Vanilla JS con Vite 7, sin frameworks frontend.
## Tecnologías
- **Vanilla JS** con ES Modules
- **Vite 7** — bundler y servidor de desarrollo
- **Chart.js** — gráficas del dashboard
- **@huggingface/transformers** — asistente de voz (Whisper, ejecución local en el navegador)
## Requisitos
- Node.js 18+
- pnpm
## Instalación y desarrollo
```bash
pnpm install
pnpm dev # http://localhost:5173
```
## Build de producción
```bash
pnpm build # genera la carpeta dist/
pnpm preview # previsualización del build
```
## Configuración
Crea un archivo `.env` en la raíz del proyecto:
```env
VITE_API_BASE_URL=http://localhost:5001
```
Por defecto apunta al BFF en `localhost:5001`.
## Páginas disponibles
| Ruta hash | Página | Descripción |
|-----------|--------|-------------|
| `#/` | Dashboard | Métricas generales y gráficas |
| `#/facturas` | Facturas | Facturas de clientes: crear, editar, anular |
| `#/facturas-proveedores` | Facturas proveedores | CRUD completo, líneas, pagos y cambio de estado |
| `#/clientes` | Clientes | Listado y gestión de clientes |
| `#/contacts` | Contactos | Listado y gestión de contactos |
| `#/banco` | Banco | Movimientos bancarios |
| `#/settings` | Configuración | Tema, sesión JWT, webhook y registro VeriFactu |
## Estructura del proyecto
```
doli-front/
├── src/
│ ├── main.js # punto de entrada
│ ├── router.js # router hash-based
│ ├── pages/ # una página por módulo de negocio
│ │ ├── pagesRegistry.js # registro central de rutas
│ │ ├── DashboardPage.js
│ │ ├── Facturas.js
│ │ ├── FacturasProveedores.js
│ │ ├── ClientesPage.js
│ │ ├── ContactsPage.js
│ │ ├── BancoPage.js
│ │ └── SettingsPage.js
│ ├── services/ # clientes HTTP por entidad
│ │ ├── apiClient.js # fetch base con JWT automático
│ │ ├── auth.js
│ │ ├── invoices.js
│ │ ├── supplierInvoices.js
│ │ ├── clients.js
│ │ ├── contacts.js
│ │ ├── verifactu.js
│ │ └── ...
│ ├── components/ # componentes reutilizables
│ │ ├── Sidebar.js
│ │ ├── InvoiceModal.js
│ │ ├── VoiceAssistant.js
│ │ └── ...
│ └── styles/ # CSS modular
├── index.html
└── vite.config.js
```
## Arquitectura
La aplicación sigue un patrón de **SPA con router hash** sin dependencias de framework:
1. `main.js` inicializa el router y monta el layout principal (sidebar + área de contenido).
2. `router.js` escucha cambios en `window.location.hash` y renderiza la página correspondiente.
3. Cada página es una función que devuelve un `HTMLElement` con toda su lógica encapsulada.
4. `services/apiClient.js` centraliza todas las llamadas HTTP, adjunta el token JWT y gestiona errores 401.
## Credenciales de acceso (desarrollo)
- **Usuario:** `admin`
- **Contraseña:** `12345678`
> Estas son las credenciales del BFF/Dolibarr por defecto.