Clona el repositorio
git clone https://github.com/UserZero075/Business-Management-Dashboard.git
cd Business-Management-DashboardDocs · ES
Guía práctica escrita desde cero a partir del contenido técnico del repositorio: instalación, uso, configuración, desarrollo, API y arquitectura.
Producto
DevFast Manager es una plataforma de gestión empresarial para equipos pequeños y startups. Centraliza proyectos, infraestructura, finanzas, tareas, bugs, equipo, chat interno, notificaciones y configuración de empresa desde una sola aplicación web.
Instalación local
git clone https://github.com/UserZero075/Business-Management-Dashboard.git
cd Business-Management-Dashboardcd backend
npm install
npx prisma generate
npx prisma db push
npm run devcd frontend
npm install
VITE_API_URL=http://localhost:3001 npm run devPrimer uso
http://localhost:5173.Operación diaria
Resumen de ingresos, gastos, beneficios, proyectos activos, servidores, costos, alertas y tendencia financiera.
CRUD de proyectos, estados ACTIVE/RENTABLE/PAUSED/ABANDONED/EXPERIMENTAL, responsables, miembros, métricas de usuarios y URL pública.
Gestión de VPS, proveedores, dominios, certificados, bases de datos y reparto porcentual de costos por proyecto.
Ingresos y gastos en USD, EUR, CUP, USDT y MLC. Tasas desde El Toque cada 24h o carga manual.
Tareas con prioridad y estado; bugs con severidad low/medium/high/critical y flujo abierto/en progreso/resuelto/cerrado.
Miembros, roles, proyectos asignados y perfiles públicos con avatar, bio, color y enlaces personales.
Canal Empresa, Cofundadores y privados. Mensajes persistentes en tiempo real vía WebSocket.
Nombre, objetivo y logo de la organización, visibles en login, header y UI general.
Variables
DATABASE_URL="file:./devfast.db"
DATABASE_URL="mysql://user:password@localhost:3306/devfast"
DATABASE_URL="postgresql://user:password@localhost:5432/devfast"PORT=3001
HOST=0.0.0.0
JWT_SECRET="clave-larga-segura"
NODE_ENV=productionSMTP_HOST="smtp.gmail.com"
SMTP_PORT=587
SMTP_USER="tu-email@gmail.com"
SMTP_PASS="app-password"
SMTP_FROM="tu-email@gmail.com"
SMTP_SECURE=falseVITE_API_URL=http://TU_IP:3001 npm run buildJWT_SECRET, usa contraseña de aplicación para SMTP y limita puertos con firewall.Producción
chmod +x deploy.sh
./deploy.shEl script detecta el sistema, instala Node si falta, instala dependencias, compila, prepara Prisma y pregunta si iniciar en background.
cd backend
npm install
npx prisma db push
npm run build
HOST=0.0.0.0 PORT=3001 npm run start
cd ../frontend
npm install
VITE_API_URL=http://TU_IP:3001 npm run build
npm run preview -- --host --port 80Si usas Tailscale, permite solo la red 100.64.0.0/10 al puerto 3001.
Para developers
backend/src/routes contiene auth, projects, vps, finance, tasks, dashboard, chat, activity y settings. services contiene bootstrap, email, exchangeRates y logging.
frontend/src/pages contiene Login, Dashboard, Projects, Infrastructure, Finances, Tasks, Team, Chat, Notifications, Profile, Settings y UserProfile.
import nuevaRuta from './routes/nuevaRuta.js'
await fastify.register(nuevaRuta, { prefix: '/api/nueva' })import NuevaPagina from './pages/NuevaPagina'
<Route path="/nueva" element={<NuevaPagina />} />Edita backend/prisma/schema.prisma, luego ejecuta npx prisma db push y npx prisma generate.
cd backend && npm run build
cd frontend && npm run build
npm run lintREST API
Endpoints principales agrupados por dominio. Las rutas autenticadas usan Authorization: Bearer <token>.
/api/auth/request-otpSolicita OTP de registro.
{
"email": "usuario@ejemplo.com"
}/api/auth/registerRegistra usuario y devuelve token.
{
"email": "usuario@ejemplo.com",
"password": "contraseña123",
"name": "Nombre",
"otp": "123456"
}/api/auth/loginInicia sesión.
/api/auth/meUsuario actual.
/api/auth/meActualiza perfil.
/api/auth/usersLista usuarios.
/api/auth/rolesLista roles.
/api/projectsLista proyectos.
/api/projects/:idProyecto específico.
/api/projectsCrea proyecto.
{
"name": "Mi Proyecto",
"description": "Descripción",
"status": "ACTIVE",
"publicUrl": "https://..."
}/api/projects/:id/metricsAgrega métricas de usuarios.
/api/vps/providersProveedores.
/api/vps/providersCrea proveedor.
/api/vps/serversLista VPS.
/api/vps/serversCrea VPS.
/api/vps/servers/:id/linkVincula VPS a proyecto con porcentaje de costo.
/api/vps/itemsItems de infraestructura.
/api/vps/costsResumen mensual de costos.
/api/finance/transactionsTransacciones filtrables por proyecto, tipo y fecha.
/api/finance/transactionsCrea ingreso o gasto.
/api/finance/summaryResumen financiero.
/api/finance/rates/latestTasas actuales.
/api/finance/ratesCarga tasa manual.
/api/tasks/tasksLista tareas.
/api/tasks/tasksCrea tarea.
/api/tasks/bugsLista bugs.
/api/tasks/bugsReporta bug.
/api/tasks/overviewResumen de tareas y bugs.
/api/dashboardOverview general.
/api/dashboard/alertsAlertas.
/api/dashboard/charts/income-expenseGráfico ingresos/gastos.
/api/chat/channelsCanales.
/api/chat/channels/:id/messagesEnvía mensaje.
/api/chat/ws?token=<jwt_token>Chat en tiempo real.
/api/settings/companyConfiguración empresa.
Arquitectura
Fastify recibe la solicitud, valida CORS, verifica JWT cuando aplica, valida entrada con Zod, ejecuta lógica con servicios y Prisma, y devuelve JSON.
JWT con token en localStorage. El frontend lo envía en Authorization: Bearer <token>. Contraseñas con bcrypt.
bootstrap crea roles/settings base; email gestiona SMTP con fallback; exchangeRates actualiza tasas cada 24h.
Tests, rate limiting, push notifications, CSV import, uploads de archivos, métricas históricas y dashboards más interactivos.
Soporte
Ejecuta npm install en backend o frontend según corresponda.
Sincroniza Prisma con npx prisma db push.
Localiza el proceso con lsof -i :3001 o lsof -i :5173 y termina el PID.
Verifica que el backend escuche en 0.0.0.0 y que VITE_API_URL apunte al backend correcto.
Revisa SMTP. En desarrollo, el código aparece en la consola del backend.