Sistema de gestión para la generación de reportes de información exógena. Este backend maneja la autenticación, administración de clientes, vendedores, seriales de software ERP, ventas y recaudos.
- Node.js & Express: Entorno de ejecución y framework web.
- Prisma ORM: Mapeo de base de datos relacional.
- MySQL: Base de datos principal.
- JWT (JSON Web Token): Autenticación segura.
- Bcryptjs: Cifrado de contraseñas.
- Morgan & Helmet: Seguridad y logs de peticiones.
- Node.js (v18 o superior)
- MySQL 8.0+
- npm o yarn
-
Clonar el repositorio:
git clone [https://github.com/TU_USUARIO/exogena-backend.git](https://github.com/TU_USUARIO/exogena-backend.git) cd exogena-backend -
Instalar dependencias:
npm install
-
Configurar variables de entorno: Copia el archivo
.env.examplea.envy rellena tus datos reales:cp .env.example .env
-
Configurar la base de datos:
npx prisma generate
-
Iniciar el servidor:
npm run dev
POST /api/auth/login: Iniciar sesión y obtener token.
/api/clientes: CRUD de clientes (incluye seriales y vendedores)./api/vendedores: CRUD de fuerza de ventas./api/seriales: Gestión de licencias de software ERP./api/ventas: Registro de ventas y estados financieros./api/pagos: Control de recaudos y saldos.
Todas las rutas de gestión están protegidas por un middleware de autenticación. Es necesario incluir el token en los headers:
Authorization: Bearer <tu_token>
- Rate limiting: El endpoint de login limita a 5 intentos por minuto por IP.
- CORS: Configurable vía
CORS_ORIGINen.env(en producción, especifica orígenes permitidos).
npm test # Ejecutar todos los tests
npm run test:watch # Modo watch (re-ejecuta al cambiar archivos)
npm run test:coverage # Con reporte de coberturanpm run crear-usuario: Crea un usuario. Configurar conCREAR_USUARIO_NOMBRE,CREAR_USUARIO_EMAIL,CREAR_USUARIO_PASSWORD,CREAR_USUARIO_ROL.
Desarrollado con ❤️ para la gestión contable.