https://github.com/antoniopaya22/typescript-api-rest-template
TypeScript and NodeJS API-REST Template
https://github.com/antoniopaya22/typescript-api-rest-template
api-rest apirestfull rest-api typeorm typescript
Last synced: 10 months ago
JSON representation
TypeScript and NodeJS API-REST Template
- Host: GitHub
- URL: https://github.com/antoniopaya22/typescript-api-rest-template
- Owner: antoniopaya22
- Created: 2019-10-04T07:35:04.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-03-03T11:28:49.000Z (about 3 years ago)
- Last Synced: 2024-01-09T17:27:19.957Z (over 2 years ago)
- Topics: api-rest, apirestfull, rest-api, typeorm, typescript
- Language: TypeScript
- Homepage:
- Size: 742 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TypeScript-API-REST-Template
[](https://travis-ci.com/antonioalfa22/TypeScript-API-REST-Template)
[](https://github.com/ellerbrock/open-source-badge/)
[](https://github.com/antonioalfa22/TypeScript-API-REST-Template)
[](https://github.com/antonioalfa22/TypeScript-API-REST-Template)
[](https://github.com/antonioalfa22/TypeScript-API-REST-Template/fork)
## 1. Estructura y Flujo
```bash
└───src
├───controllers
├───models
├───middlewares
├───repository
├───routes
└───test
```

### 1.1. Models
Representa el modelo de datos, (por ejemplo un usuario).
### 1.2. Repository
Se encargan de proporcionar los métodos de acceso a base de datos para trabajar con los modelos (Entidades).
### 1.3. Middlewares
Son los componentes encargados de comprobar si se debe o no seguir con la petición. Por ejemplo autorización o roles.
### 1.4. Controllers
Los controladores son los encargados de realizar las operaciones requeridas por la petición definida en la ruta.
_______
## 2. Ejecutar
Para ejecutar la API-Rest en modo de desarrollo o testeo se deben ejecutar las siguientes instrucciones:
```node
npm install
npm run dev
```
Para ejecutar la API-Rest en producción se deben de realziar los siguientes pasos:
1. **Set .env**
Se necesita crear un archivo de configuración `.env` como el siguiente:
```env
MODE = test
```
2. **Run**
```node
npm install
npm run prod
```
## 2. Ejecutar con Docker
1. **Set .env**
Se necesita crear un archivo de configuración `.env` como el siguiente:
```env
MODE = test
```
2. **Build**
```docker
docker build . -t api-rest:latest
```
3. **Run**
```docker
docker container run --publish 3000:3000 --detach api-rest
```