Some description of project
npm install
So copy the .env.example
to .env
and configure envroiment variables.
npm run test
Build
docker build -t napd-fastify .
Running
docker run -p 3000:3000 -e DEV=1 -v $(pwd):/app -t napd-fastify
Build
docker build -t napd-fastify .
Running
docker run -p 3000:3000 -t napd-fastify
├── package.json
├── package-lock.json
├── src/
│ ├── application/
│ │ ├── dtos/
│ │ │ └── createClientRequestDto.ts
│ │ ├── modules/
│ │ │ └── clientModule.ts
│ │ └── services/
│ │ └── clientService.ts
│ ├── config/
│ │ └── index.ts
│ ├── domain/
│ │ └── client
│ │ └── client.entity.ts
│ ├── infra/
│ │ └── responseApi.ts
│ ├── main.ts
│ ├── server.ts
│ └── web/
│ ├── client.controller.ts
│ └── controller.ts
├── test/
└── tsconfig.json
Every base configuration is exported there, is an adapter between environment variables for TS/JS.
The scaffolding is strictly based in the Hexagonal Architecture
- dotenv: Loads environment variables from .env file
- fastify: Fast and low overhead web framework, for Node.js
- fastify-plugin: Plugin helper for Fastify
- fastify-swagger: Generate Swagger files automatically for Fastify.
- @types/node: TypeScript definitions for Node.js
- @typescript-eslint/eslint-plugin: TypeScript plugin for ESLint
- @typescript-eslint/parser: An ESLint custom parser which leverages TypeScript ESTree
- eslint: An AST-based pattern checker for JavaScript.
- eslint-config-airbnb-base: Airbnb's base JS ESLint config, following our styleguide
- eslint-plugin-import: Import with sanity.
- ts-node: TypeScript execution environment and REPL for node.js, with source map support
- typescript: TypeScript is a language for application scale JavaScript development
MIT