base-ts-node-config
v1.0.0
Published
> This is a [Nodejs](https://nodejs.org/en/) project bootstrapped with [Create Node Basic](https://github.com/mugarate12/basic-node-ts-config) to create a basic structure and configuration of [Nodejs](https://nodejs.org/en) API with [Express](https://expr
Downloads
3
Readme
Nodejs API
This is a Nodejs project bootstrapped with Create Node Basic to create a basic structure and configuration of Nodejs API with Express and Typescript
Summary
Getting Started
Prerequisites
Configuration
Environment variables
Set the environment variables in the .env
file like the .env.example
file.
PORT
: Port where the server will be listening.NODE_ENV
: Set type of environment to run the server mode (development, production, test).REDIS_URL
: URI of the Redis server. By default isredis://localhost:6379
.
Scripts
- Your package.json have initial commands to build, run, test and create server to development
build your project:
npm run build
build your project and immediately run your app builded:
npm start
run project in development build:
npm run dev
run all of tests in project:
npm run test
- Test your application run correctlly to send HTTP GET to localhost:8000
Folder Structure
Your project get this structure
project
│ .env.example
│ .gitignore
│ .dockerignore
│ CHANGELOG.md
│ README.md
│ docker-compose.yml
│ Dockerfile
│ babel.config.js
│ package-lock.json
│ package.json
│ tsconfig.json
│ tsconfig.spec.json
│ __tests__
│ └───unit
| │ | example.test.ts
| │ | redis.test.ts
│ └───integration
| │ | example.test.ts
└───src
| | app.ts
| | server.ts
│ └───config
│ | │ redisClient.ts
│ | │ index.ts
│ └───controllers
│ | │ ExampleController.ts
│ | │ index.ts
│ └───services
│ | │ Example.services.ts
│ | │ index.ts
│ └───routes
│ | │ example.routes.ts
│ | │ index.ts
| └───utils
│ │ createToken.ts
│ │ handleError.ts
│ │ index.ts
Docker
Build
docker build -t <your username>/node-web-app .
Run
docker run -p 8000:8000 -d <your username>/node-web-app
Docker Compose
docker-compose up --build