# martor-constructron

> Constructor de apis y apps a partir de simples ficheros de definición y una plantilla base

Latest version **1.8.0** (published 2024-05-29) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install martor-constructron
pnpm add martor-constructron
yarn add martor-constructron
bun add martor-constructron
```

Provides the commands `martor-constructron-init`, `martor-constructron-build`.

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.8.0 |
| Published | 2024-05-29 |
| First published | 2024-04-02 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 45.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | @_martor84 |
| Maintainers | manumartor |

## Links

- npm: https://www.npmjs.com/package/martor-constructron
- Repository: https://bitbucket.org/manumartor/martor-constructron
- Homepage: https://bitbucket.org/manumartor/martor-constructron#readme
- Issues: https://bitbucket.org/manumartor/martor-constructron/issues
- npm.io page: https://npm.io/package/martor-constructron

## Dependencies (1)

- [martor-framework](https://npm.io/package/martor-framework.md) ^2.1.2

## Recent versions

- 1.8.0 (latest) — 2024-05-29
- 1.7.6 — 2024-05-20
- 1.7.5 — 2024-05-20
- 1.7.4 — 2024-05-20
- 1.7.3 — 2024-05-20
- 1.7.2 — 2024-05-20
- 1.7.1 — 2024-05-20
- 1.7.0 — 2024-05-20
- 1.6.0 — 2024-04-25
- 1.5.0 — 2024-04-15
- 1.4.2 — 2024-04-10
- 1.4.1 — 2024-04-09
- 1.4.0 — 2024-04-08
- 1.3.1 — 2024-04-08
- 1.3.0 — 2024-04-08
- … 10 more at https://npm.io/package/martor-constructron/versions

## README

# MARTOR Constructron

Módulo para crear apis y apps a partir de ficheros yaml con las definiciones y una plantilla base.

En las definiciones para apis tienen que ir:
    - Los ficheros de configuración propios de la aplicación que se va a contruir
    - Los ficheros controllers definiendo los endpoints de entrada y la lógica de negocio que se aplica en cada endpoint
    - Los ficheros schemas con las definiciones de las entidades de base de datos que se vayan a usar
    - Tipo de autenticación de usuario que se va a emplear
    - Otras definiciones genéricas del aplicativo, como si usa wsock, mqtt, cors, etc etc
    - Los ficheros test para las pruebas unitarias de la aplicación


En las definiciones de apps tiene que ir
    - También los ficheros de configuración y controllers con los endpoints de entrada
    - ...
    - ...
    - La autenticación de usuario
    - Los ficheros test para las pruebas unitarias de la aplicación

Con todos estos ficheros de definiciones y las plantillas que hay definidas para cada tipo de aplicación, el constructor genera todo los ficheros necesarios para tener una aplicación nodejs que se pueda arrancar y sea usable.


## Instalación

$ npm i martor-constructron


## Uso

Para iniciar una nueva definición de aplicación, ejecutar:

$ npx martor-constructron-init

Seguir el asistente para crear los archivos base de la nueva aplicación.

A continuación crear los ficheros de definición en sus carpetas correspondientes.

Una vez creados todos los archivos de denifición necesarios para construir la aplicación, ejecutar:

$ npx martor-constructron-build -- private/app1_defs out/app1

Y a continuación para arrancar la aplicación, ejecutar:

$ cd out/app1 && npm i && npm start


## Uso de plantillas

Para usar una plantilla personalizada en la configuración contructron.template indicar la ruta relativa a la plantilla.


## Autor

@_martor84 <manu@martor.es>


## Changelog

### v1.8.0
- Added test support
- Migrate all creation files to .mjs

### v1.7.6
- Fix for swagger spec file build on diferent environments

### v1.7.4
- Allow templates from absolute paths

### v1.7.1
- Added support for customize package.json dependencies for each project local build config.yaml file

### v1.7.0
- Config allow load custom enviroment config for build process

### v1.6.0
- Copy also services folder to output folder

### v1.5.0
- Controllers add imports for cfg, loggers, fs and path

### v1.4.2
- Fix controllers params for work on express infrastructure

---
_Source: https://npm.io/package/martor-constructron · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
