update documentacion código interno
|
After Width: | Height: | Size: 261 KiB |
|
After Width: | Height: | Size: 293 KiB |
|
After Width: | Height: | Size: 254 KiB |
|
After Width: | Height: | Size: 316 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 229 KiB |
|
After Width: | Height: | Size: 212 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
|
@ -1,23 +1,19 @@
|
|||
# Apuntes de codigo
|
||||
|
||||
---
|
||||
|
||||
## 1) Infraestructura (Docker)
|
||||
|
||||
**Que capturar:**
|
||||
- Archivo `docker-compose.yml`
|
||||
- Bloques `mariadb` y `dolibarr`
|
||||
- Puertos, variables y volumenes
|
||||
|
||||
**Por que es importante:**
|
||||
- El proyecto depende de Dolibarr y una base de datos real.
|
||||
- Docker permite reproducir el entorno en cualquier maquina.
|
||||
- Sin Dolibarr activo, la API devuelve errores de conexion.
|
||||
|
||||
**Captura sugerida:**
|
||||

|
||||
**Docker Desktop**
|
||||

|
||||
***
|
||||
**Docker compose**
|
||||

|
||||
|
||||
**Guion corto:**
|
||||
**Explicación:**
|
||||
- Se levantan 2 servicios: MariaDB y Dolibarr.
|
||||
- Dolibarr expone el puerto `8200` para acceder al ERP.
|
||||
- Las credenciales y modulos se configuran por variables de entorno.
|
||||
|
|
@ -27,18 +23,14 @@
|
|||
|
||||
## 2) Variables de entorno (configuracion)
|
||||
|
||||
**Que capturar:**
|
||||
- Archivo `.env.local`
|
||||
- Variables `DOLIBARR_API_URL` y `DOLIBARR_API_KEY`
|
||||
|
||||
**Por que es importante:**
|
||||
- La app no funciona sin apuntar a la API de Dolibarr.
|
||||
- La API key se mantiene en servidor y no se expone al cliente.
|
||||
|
||||
**Captura sugerida (oculta la key real):**
|
||||

|
||||
**Env local(api borrada por temas de segurdad...)**
|
||||

|
||||
|
||||
**Guion corto:**
|
||||
**Explicación:**
|
||||
- La URL y la API key son el puente con Dolibarr.
|
||||
- Existen variables legacy `NEXT_PUBLIC_*` por compatibilidad.
|
||||
|
||||
|
|
@ -46,19 +38,18 @@
|
|||
|
||||
## 3) Proxy API (seguridad de la API key)
|
||||
|
||||
**Que capturar:**
|
||||
- Archivo `app/api/dolibarr/[...path]/route.ts`
|
||||
- Construccion del endpoint y `DOLAPIKEY`
|
||||
- Metodos GET/POST/PUT/DELETE
|
||||
|
||||
**Por que es importante:**
|
||||
- El frontend nunca habla directamente con Dolibarr.
|
||||
- El proxy agrega la key en servidor y protege credenciales.
|
||||
|
||||
**Captura sugerida:**
|
||||

|
||||
**Metodos GET/POST/PUT/DELETE:**
|
||||

|
||||
***
|
||||
**Ejemplo llamada:**
|
||||

|
||||
|
||||
**Guion corto:**
|
||||
|
||||
**Explicación:**
|
||||
- Todas las llamadas pasan por `/api/dolibarr/...`.
|
||||
- Se construye la URL real con `DOLIBARR_API_URL`.
|
||||
- Se reenvian los metodos HTTP y se manejan errores.
|
||||
|
|
@ -67,19 +58,21 @@
|
|||
|
||||
## 4) Cliente central de Dolibarr
|
||||
|
||||
**Que capturar:**
|
||||
- Archivo `lib/dolibarrClient.ts`
|
||||
- `dolibarrDirectFetch` y `dolibarrProxyFetch`
|
||||
- `dolibarrFetch` que decide segun entorno
|
||||
|
||||
**Por que es importante:**
|
||||
- Centraliza todas las llamadas a la API.
|
||||
- Simplifica los servicios (proyectos, tareas, usuarios).
|
||||
- Simplifica los métodos de los servicios (proyectos, tareas, usuarios).
|
||||
|
||||
**Captura sugerida:**
|
||||

|
||||
**Direct Fetch:**
|
||||

|
||||
***
|
||||
**Proxy Fetch:**
|
||||

|
||||
***
|
||||
**Decisión segun entorno**
|
||||

|
||||
|
||||
**Guion corto:**
|
||||
|
||||
**Explicación:**
|
||||
- Si es servidor usa llamada directa.
|
||||
- Si es cliente usa el proxy interno.
|
||||
- Se aplica cache corta (`revalidate: 60`).
|
||||
|
|
|
|||