Go to file
Levi Planelles 9331e7e890 feat: add @radix-ui/react-label and recharts dependencies
refactor: update task types to support string and number for date and duration fields

chore: remove unused postcss configuration

feat: enhance task mapping functions for better data handling and conversion
2026-01-31 13:56:51 +01:00
app feat: add @radix-ui/react-label and recharts dependencies 2026-01-31 13:56:51 +01:00
components feat: add @radix-ui/react-label and recharts dependencies 2026-01-31 13:56:51 +01:00
hooks adding sidebar internally 2025-12-11 12:54:57 +01:00
lib feat: add @radix-ui/react-label and recharts dependencies 2026-01-31 13:56:51 +01:00
public Initial commit from Create Next App 2025-12-05 20:26:44 +01:00
scripts Merge origin/main into main with Estadisticas branch 2026-01-30 23:48:58 +01:00
types feat: add @radix-ui/react-label and recharts dependencies 2026-01-31 13:56:51 +01:00
.gitignore Initial commit from Create Next App 2025-12-05 20:26:44 +01:00
AGENTS.md add/update AGENTS.md 2026-01-28 11:26:20 +01:00
QUICK_START.md feat: Enhance Dolibarr project management dashboard with new features and scripts 2026-01-28 13:00:17 +01:00
README.md feat: Enhance Dolibarr project management dashboard with new features and scripts 2026-01-28 13:00:17 +01:00
components.json Adding components for the main dashboard 2025-12-11 11:50:09 +01:00
eslint.config.mjs Initial commit from Create Next App 2025-12-05 20:26:44 +01:00
image.png update readme 2025-12-11 14:14:08 +01:00
next.config.ts better sidebar with sidebar inset && dev tools desactivated 2025-12-11 14:10:10 +01:00
package-lock.json feat: add @radix-ui/react-label and recharts dependencies 2026-01-31 13:56:51 +01:00
package.json feat: add @radix-ui/react-label and recharts dependencies 2026-01-31 13:56:51 +01:00
postcss.config.js Adding components for the main dashboard 2025-12-11 11:50:09 +01:00
tailwind.config.js adding sidebar internally 2025-12-11 12:54:57 +01:00
tsconfig.json Initial commit from Create Next App 2025-12-05 20:26:44 +01:00

README.md

This is a Next.js project bootstrapped with create-next-app.

Preview

Dashboard de Proyectos Dolibarr

Aplicación web moderna para visualizar y gestionar proyectos de Dolibarr con una interfaz intuitiva y profesional.

✨ Características

  • 📊 Vista de proyectos en Grid y Lista
  • 🎨 Modo oscuro completo
  • 📱 Diseño responsive
  • 🔍 Búsqueda en tiempo real
  • 📈 Estadísticas y KPIs
  • 🔐 API segura (API key protegida en el backend)
  • ⚡ Skeletons loading para mejor UX
  • 📄 Página de detalle completa para cada proyecto

🚀 Getting Started

Requisitos previos

  • Node.js 18+
  • Dolibarr con API habilitada
  • Docker (opcional, para Dolibarr)

Instalación

  1. Clonar el repositorio
git clone <tu-repo>
cd trello_fake
  1. Instalar dependencias
npm install
  1. Configurar variables de entorno

Crea un archivo .env.local en la raíz:

# API de Dolibarr (segura - solo servidor)
DOLIBARR_API_URL=http://localhost:8200/api/index.php
DOLIBARR_API_KEY=tu-api-key-aqui

# Variables públicas
NEXT_PUBLIC_DOLIBARR_USER_ID=2
  1. Iniciar el servidor de desarrollo
npm run dev

Abre http://localhost:3000 en tu navegador.


📊 Datos de Prueba

Si no tienes proyectos en tu Dolibarr, puedes generar datos de prueba:

# Con el servidor corriendo (npm run dev)
npm run seed

Este comando creará 12 proyectos de ejemplo con:

  • Diferentes estados de progreso (0% - 100%)
  • Presupuestos variados (€28k - €120k)
  • Descripciones detalladas
  • Fechas realistas

Ver más detalles en scripts/README.md


🏗️ Estructura del Proyecto

/
├── app/                          # Next.js App Router
│   ├── api/dolibarr/[...path]/  # API Route proxy (protege la API key)
│   ├── proyectos/[id]/          # Página de detalle de proyecto
│   ├── layout.tsx               # Layout principal
│   └── page.tsx                 # Página de inicio
├── components/
│   ├── dashboard/               # Componentes del dashboard
│   ├── ui/                      # Componentes shadcn/ui
│   ├── theme-provider.tsx       # Provider de tema
│   └── theme-toggle.tsx         # Toggle de modo oscuro
├── lib/                         # Utilidades y servicios
│   ├── dolibarrClient.ts       # Cliente de API
│   ├── projectsService.ts      # Servicio de proyectos
│   └── usersService.ts         # Servicio de usuarios
├── types/                       # Definiciones TypeScript
└── scripts/                     # Scripts de utilidad

🛠️ Scripts Disponibles

npm run dev          # Servidor de desarrollo
npm run build        # Build de producción
npm run start        # Servidor de producción
npm run lint         # Ejecutar ESLint
npm run seed         # Crear proyectos de prueba

🎨 Tecnologías

  • Framework: Next.js 16 (App Router)
  • Lenguaje: TypeScript 5
  • UI: shadcn/ui + Radix UI
  • Estilos: Tailwind CSS
  • Iconos: Lucide React
  • Tema: next-themes
  • API: Dolibarr REST API

🔐 Seguridad

La aplicación implementa las siguientes medidas de seguridad:

  • ✅ API key protegida en el servidor (NO expuesta al cliente)
  • ✅ API Route proxy para todas las llamadas a Dolibarr
  • ✅ Variables de entorno seguras
  • ✅ Validación de datos de entrada

📖 Documentación Adicional


🐛 Troubleshooting

Error: "Cannot connect to Dolibarr"

  • Verifica que Dolibarr esté corriendo
  • Revisa la URL en .env.local
  • Comprueba que la API esté habilitada en Dolibarr

No se muestran proyectos

  • Ejecuta npm run seed para crear datos de prueba
  • Verifica las credenciales de la API
  • Revisa la consola del navegador para errores

Modo oscuro no funciona

  • Limpia la caché del navegador
  • Verifica que ThemeProvider esté envolviendo la app

📝 Credenciales de Dolibarr (Demo)

username: admin password: p4ssw0rd


🤝 Contribuir

Las contribuciones son bienvenidas. Por favor:

  1. Fork el proyecto
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add: AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

📄 Licencia

Este proyecto es privado y de uso interno.


Learn More

To learn more about Next.js, take a look at the following resources: