-
Framework: Express JS
-
Database: MongoDB with mongoose
-
Tester: Testes with
Vitest
, for api test also usesupertest
and for mongodb usedmongodb-memory-server
-
Linter: Typescript
ESLint Airbnb
style guidelines -
Formatter:
Prettier
Formatter with ESLint -
Dockerize: Dockerize for
production
,staging
anddevelopment
environments -
Husky
Git Hooks: Husky pre-commit hook withlint-staged
for eslint and prettier, pre-push hook for run tests and commit-msg hook forcommit-lint
for checking commit messages -
CI/CD with Github Actions: Github Actions for
Code Checker
(lint-check, type-check & run tests) &Commit Lint
for checking commit messages -
Path alias: Path alias with
tsconfig-paths
-
HTTP & Application Logger: Pino logger with
pino
,pino-http
andpino-pretty
-
Caching with Redis: Caching with
Redis server
- First ensure to add DB_URI in `env` variable
- Then install necessary dependencies using `pnpm install`
- To run local server use `pnpm dev` command
- To build the project run `pnpm build` command
- To Lint and format the project run `pnpm lint`