Plataforma multi-tenant de gestión de WhatsApp por Kelvis Tech. Administra múltiples instancias de WhatsApp, campañas de mensajería masiva, CRM/inbox, chatbots, segmentación geográfica y monitoreo de infraestructura. La capa de conexión a WhatsApp la provee Evolution API v2 (self-hosted vía Docker).
¿Sos nuevo en el equipo? Empezá por docs/ONBOARDING-DEVS.md (guía día 1) y CONTRIBUTING.md (ramas, commits, PRs).
chatsfast-core/
├── chatfast-backend/ # Express 5 + TypeScript + Prisma — API (puerto 3001)
├── chatfast-frontend/ # Next.js 16 + React 19 — dashboard/portal (puerto 3000/3002)
├── evolution-api/ # Config de entorno de Evolution API
├── infra/ # docker-compose (Evolution API, PostgreSQL, Redis)
└── docs/ # Documentación (ver índice abajo)
| Capa | Tecnología |
|---|---|
| Backend | Express 5, TypeScript, Prisma ORM, PostgreSQL 15, Redis 7, BullMQ |
| Frontend | Next.js 16 (App Router), React 19, Tailwind CSS 4, Zustand, TanStack Query |
| Evolution API v2 (Baileys + WhatsApp Cloud API) | |
| Infra | Docker Compose, MinIO (media), Socket.IO (tiempo real) |
| Tests | Jest (Babel transpile) + Playwright (E2E) |
Requisitos: Node 20+, Docker + Docker Compose, psql.
# 1. Infraestructura (Evolution API, PostgreSQL, Redis)
cd infra && docker-compose up -d
# 2. Backend
cd ../chatfast-backend
cp .env.example .env # editar valores (ver .env.production.example)
npm install
npm run prisma:generate
npm run dev # http://localhost:3001 (Swagger: /api-docs en dev)
# 3. Frontend (otra terminal)
cd ../chatfast-frontend
npm install
npm run dev # http://localhost:3002En
NODE_ENV=developmentel backend usa un dev-bypass de auth (cualquiera es ADMIN). Nunca corras producción conNODE_ENV=development. Detalles en docs/ONBOARDING-DEVS.md.
Backend (chatfast-backend/) |
Qué hace |
|---|---|
npm run dev |
API con hot-reload (tsx watch) |
npm run build / npm run start |
Compilar y correr dist/ |
npm run lint / npm run lint:fix |
ESLint |
npm test / npm run test:coverage |
Jest |
npm run prisma:generate |
Regenerar cliente Prisma (tras cambios de schema) |
npm run db:apply-sql |
Aplicar SQL versionado (prisma/sql/*.sql) |
npm run db:setup |
Producción: migrate deploy + db:apply-sql |
Frontend (chatfast-frontend/) |
Qué hace |
|---|---|
npm run dev |
Next.js dev (puerto 3002) |
npm run build |
Build de producción |
npm run lint |
ESLint |
npm run gen:i18n |
Generar tipos i18n (es/en/pt) |
| Doc | Para quién |
|---|---|
| docs/ONBOARDING-DEVS.md | Desarrolladores nuevos — setup, gotchas, dónde está cada cosa |
| CONTRIBUTING.md | Cómo contribuir: ramas, commits, PRs, code review |
| CLAUDE.md | Mapa técnico completo (arquitectura, rutas, schema) |
| chatfast-backend/ARCHITECTURE.md | Diagramas de flujo del backend |
| chatfast-backend/CHATFAST-DOCS.md | Referencia técnica del backend |
| chatfast-backend/CHANGELOG.md | Historial de cambios por sesión |
| docs/GUIA-USUARIO-DASHBOARD.md | Guía de usuario del dashboard (ADMIN) |
| docs/portal/ | Manual del cliente (ES/PT) |
| docs/integrations/ | Referencia de API pública y webhooks (es/pt/en) |
| docs/comercial/ | Dossier comercial + pitch deck |
Leé CONTRIBUTING.md. En resumen: rama desde main (feat/…, fix/…, docs/…),
commits convencionales, PR con descripción + plan de prueba, CI verde, squash-merge y borrar la rama.
Propietario — © Kelvis Tech. Uso interno. No distribuir.