Una API RESTful construida con NestJS, utilizando TypeORM y conectada a una base de datos PostgreSQL.
Esta API ha sido diseñada con un enfoque de producción industrial, considerando las entidades, relaciones y operaciones típicas de un entorno de manufactura.
Está preparada para entornos productivos, con una arquitectura modular y escalable.
- API RESTful construida con NestJS
- Conexión a base de datos PostgreSQL usando TypeORM
- Soporte para variables de entorno (dotenv)
- Arquitectura modular y escalable
- Preparado para producción
- Node.js (v18 o superior recomendado)
- PostgreSQL (versión 12+)
- npm o yarn
git clone https://github.com/tu-usuario/mendix-api.git
cd mendix-api
npm installCrea un archivo .env en la raíz del proyecto basado en .env.example:
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_USER=postgres
DATABASE_PASSWORD=tu_password
DATABASE_NAME=mendix# Modo desarrollo
npm run start:dev
# Compilar y ejecutar
npm run build
npm run start
# Producción
npm run start:prodEsta API está organizada en módulos funcionales, siguiendo las mejores prácticas de NestJS. A continuación se describe brevemente la estructura:
Este módulo centraliza la configuración y proveedores de conexión a PostgreSQL usando TypeORM.
-
Machines
- Entidades:
Machine,MachineStatus,Location - Se encarga de representar las máquinas físicas en el entorno de producción, su estado y ubicación.
- Entidades:
-
Products
- Entidades:
Product,Material - Modela los productos fabricados y los materiales involucrados en su creación.
- Entidades:
-
Users
- Entidades:
User,Shift,Role - Gestiona los usuarios del sistema, sus roles y turnos de trabajo.
- Entidades:
-
Work Orders
- Entidades:
WorkOrder,WorkOrderStatus,WorkOrderHistory - Administra las órdenes de trabajo, su estado actual y su historial de cambios.
- Entidades:
# Iniciar la aplicación en modo desarrollo
npm run start:dev
# Compilar la aplicación
npm run build
# Ejecutar la versión compilada
npm run start
# Iniciar en modo producción
npm run start:prod
# Ejecutar pruebas unitarias
npm run test
# Ejecutar pruebas con cobertura
npm run test:cov
# Ejecutar pruebas end-to-end
npm run test:e2e
# Lint del código
npm run lint
# Ejecutar migraciones pendientes
npm run migration:run
# Revertir la última migración
npm run migration:revert
# Generar una nueva migración automáticamente
npm run migration:generate ./Path/NombreMigracionEste proyecto está licenciado bajo la licencia MIT.