Skip to content

juancodeaudio/mendix-api

Repository files navigation

Mendix API

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.

Tabla de contenidos

Características

  • 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

Requisitos

  • Node.js (v18 o superior recomendado)
  • PostgreSQL (versión 12+)
  • npm o yarn

Instalación

git clone https://github.com/tu-usuario/mendix-api.git
cd mendix-api
npm install

Configuración

Crea 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

Uso

# Modo desarrollo
npm run start:dev

# Compilar y ejecutar
npm run build
npm run start

# Producción
npm run start:prod

Arquitectura del Proyecto

Esta API está organizada en módulos funcionales, siguiendo las mejores prácticas de NestJS. A continuación se describe brevemente la estructura:

Módulo de Base de Datos (database)

Este módulo centraliza la configuración y proveedores de conexión a PostgreSQL usando TypeORM.

Módulos de Dominio

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

    • Entidades: Product, Material
    • Modela los productos fabricados y los materiales involucrados en su creación.
  • Users

    • Entidades: User, Shift, Role
    • Gestiona los usuarios del sistema, sus roles y turnos de trabajo.
  • Work Orders

    • Entidades: WorkOrder, WorkOrderStatus, WorkOrderHistory
    • Administra las órdenes de trabajo, su estado actual y su historial de cambios.

Scripts Disponibles

# 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/NombreMigracion

Licencia

Este proyecto está licenciado bajo la licencia MIT.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors