- ๐ Dependabot โ Automated dependency updates for GitHub repositories.
- ๐ Express โ Fast, flexible web framework for Node.js
- ๐๏ธ Prisma โ A modern database ORM
- โจ TSX โ Node.js library with esbuild to run TypeScript & ESM files
- โก TSUP โ A fast and flexible TypeScript building tool
- ๐ Dotenv-cli โ To load multiple environment variables files
- ๐ง ESLint โ Pluggable JavaScript linter
- ๐จ Prettier โ Opinionated Code Formatter
- ๐ Commitzen โ Git commit message helper
- ๐ถ Husky โ Use git hooks with ease
- ๐ซ Lint-staged โ Run linters against staged git files
- ๐ Zod โ TypeScript-first schema validation.
- ๐ JWT โ JSON Web Token implementation.
- ๐ฌ Jest โ A popular JavaScript testing framework
- ๐ Bcrypt โ Library for hashing passwords.
- ๐ก๏ธ Helmet โ Express middleware for securing HTTP headers.
- โ๏ธ Saniteze-html โ Remove HTML tags from a string.
To use this boilerplate as a template for your own project, follow these steps:
- Click on the
Use this template
button on this repository page to create a new repository from this template. - Choose a name and configure the new repository as desired.
- Clone the newly created repository to your local machine with the following command in your terminal:
git clone https://github.com/<YOUR_USERNAME>/<YOUR_PROJECT_NAME>.git
After cloning the repository, run the following commands inside the project folder:
- Install the dependencies with
npm install
- Create an
env.development
file in theenvs folder
- Configure the environment variables based on the
envs/.env.development.example
- Run the project with
npm run dev
โโโ ๐.github // GitHub workflows
โโโ ๐.husky // Git hooks
โโโ ๐.envs // Environment variables
โโโ ๐.prisma // Prisma ORM configuration
|
โโโ ๐src
| โโโ ๐configs // Application configurations
| โโโ ๐controllers // Request controllers
| โโโ ๐errors // Custom error classes
| โโโ ๐middlewares // Middleware functions
| โโโ ๐repositories // Data access layer
| โโโ ๐routes // Application routes
| โโโ ๐schemas // Request schemas
| โโโ ๐services // Business logic layer
| โโโ ๐utils // General utilities
| | โโโ๐constants // Global constants
| | โโโ๐functions // Utility functions
| |
| โโโ ๐app.ts // Express app configuration
| โโโ ๐server.ts // Server entry point
|
โโโ ๐tests
| โโโ ๐factories // Test data factories
| โโโ ๐integration // Integration tests
| โโโ ๐unit // Unit tests
|
โโโ ๐.eslintrc.json // ESLint configuration file
โโโ ๐.prettierrc // Prettier configuration file
โโโ ๐jest.config.ts // Jest configuration file
โโโ ๐README.md // Project documentation
โโโ ๐package.json // NPM package configuration file
โโโ ๐tsconfig.json // TypeScript configuration file
- Run
git add
to stage changes - Run
git commit
without providing a message to use Commitzen - Use the Commitzen interface to write and confirm the commit message
ezgif.com-gif-maker.mp4
If you want to contribute to this template, follow these steps:
- Fork this repository
- Create a new branch with their feature using
git checkout -b my-feature
. - Commit their changes using
git commit -m 'Adding new feature'
. - Push the changes to their branch using
git push origin my-feature
. - Open a pull request on your repository.