Skip to content

Repository files navigation

Exógena Backend 🚀

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.

🛠️ Tecnologías utilizadas

  • 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.

📋 Requisitos previos

  • Node.js (v18 o superior)
  • MySQL 8.0+
  • npm o yarn

🚀 Instalación y Configuración

  1. Clonar el repositorio:

    git clone [https://github.com/TU_USUARIO/exogena-backend.git](https://github.com/TU_USUARIO/exogena-backend.git)
    cd exogena-backend
  2. Instalar dependencias:

    npm install
  3. Configurar variables de entorno: Copia el archivo .env.example a .env y rellena tus datos reales:

    cp .env.example .env
  4. Configurar la base de datos:

    npx prisma generate
  5. Iniciar el servidor:

    npm run dev

🛣️ Endpoints Principales

Autenticación

  • POST /api/auth/login: Iniciar sesión y obtener token.

Gestión

  • /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.

🔐 Seguridad

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_ORIGIN en .env (en producción, especifica orígenes permitidos).

🧪 Tests

npm test              # Ejecutar todos los tests
npm run test:watch    # Modo watch (re-ejecuta al cambiar archivos)
npm run test:coverage # Con reporte de cobertura

📜 Scripts útiles

  • npm run crear-usuario: Crea un usuario. Configurar con CREAR_USUARIO_NOMBRE, CREAR_USUARIO_EMAIL, CREAR_USUARIO_PASSWORD, CREAR_USUARIO_ROL.

Desarrollado con ❤️ para la gestión contable.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages