- Create .env file at root directory of project
- Copy all environments variables from .env.example into .env
- Install dependencies run:
npm install
- Run development:
npm run dev
- After created .env and installed dependencies same above
- Compile sources run:
npm build
- Build docker image run:
docker build --tag image-name .
- Run docker container in detached mode run:
docker run -d -p 8000:8000 image-name
- Fastify: Fast and low overhead web framework, for Node.js
- TypeScript: Static type definitions for JavaScript
- Nodemon: Helps develop automatically restarting the node application
- Pino: Very low overhead Node.js logger
- Jest: Delightful JavaScript Testing
- SuperTest: HTTP assertions made easy via superagent
- Commitlint: Helps your team adhering to a commit convention
- Conventional Commits: A specification for adding human and machine readable meaning to commit messages
- Lint-Staged: Run linters against staged git files and don't let 💩 slip into your code base!
- Husky: Modern native git hooks, use it to lint your commit messages, run tests, lint code, etc... when you commit or push
- Prettier: An opinionated code formatter
- ESLint: Find and fix problems in your JavaScript code