Starter project for a fast, simple and clean RESTful API.
Main features:
- Nodejs
- Fastify
- Typescript
- Jest
- Docker
- Nodemon
- Tslint
Extra features:
- JWT middleware authentication
- HTTP response builder (standard format with localization ids for the client)
- Utils (dates, random numbers, validations, custom console output colors)
- Example unit tests with Jest
- Extended .gitignore
Requirements
# clone it
git clone [email protected]:miqrc/fastify-typescript-docker-rest-api.git
cd fastify-typescript-docker-rest-api
# Install dependencies
npm install
# Run unit tests
npm test
# Start development live-reload server
npm run dev
# Start production server:
npm start
Try it http://127.0.0.1:8080/public
To try the authentication, a Postman collection is included in the root folder.
cd fastify-typescript-docker-rest-api
# Build docker image
docker build -t my/fast-server .
# run your docker (be sure to have the port 8080 available)
docker run -p 8080:8080 my/fast-server
Try it http://127.0.0.1:8080/public
- controllers: Business logic. Where the work is done (included some examples)
- middlewares: Intermediate logic to be executed before business code (authentication)
- constants.ts: Define port and server secret
- server.ts: API definition and server configuration (cors)
- Apply JSON schema
MIT