Hey There! ๐
๐คพ that โญ๏ธ button if you like this boilerplate.
Welcome to the Express TypeScript Boilerplate 2024 โ a streamlined, efficient, and scalable foundation for building powerful backend services with modern tools and practices in Express.js and TypeScript.
This boilerplate aims to:
- โจ Reduce setup time for new projects
- ๐ Ensure code consistency and quality
- โก Facilitate rapid development
- ๐ก๏ธ Encourage best practices in security, testing, and performance
- ๐ Modular Structure: Organized by feature for easy navigation and scalability
- ๐จ Faster Execution with tsx: Rapid TypeScript execution with
tsx
and type checking withtsc
- ๐ Stable Node Environment: Latest LTS Node version in
.nvmrc
- ๐ง Simplified Environment Variables: Managed with Envalid
- ๐ Path Aliases: Cleaner code with shortcut imports
- ๐ Renovate Integration: Automatic updates for dependencies
- ๐ Security: Helmet for HTTP header security and CORS setup
- ๐ Logging: Efficient logging with
pino-http
- ๐งช Comprehensive Testing: Setup with Vitest and Supertest
- ๐ Code Quality Assurance: Husky and lint-staged for consistent quality
- โ
Unified Code Style:
Biomejs
for consistent coding standards - ๐ API Response Standardization:
ServiceResponse
class for consistent API responses - ๐ณ Docker Support: Ready for containerization and deployment
- ๐ Input Validation with Zod: Strongly typed request validation using
Zod
- ๐งฉ Swagger UI: Interactive API documentation generated from Zod schemas
For a visual guide, watch the video demo to see the setup and running of the project.
- Clone the repository:
git clone https://github.com/edwinhern/express-typescript-2024.git
- Navigate:
cd express-typescript-2024
- Install dependencies:
npm ci
- Create
.env
: Copy.env.template
to.env
- Update
.env
: Fill in necessary environment variables
- Development Mode:
npm run dev
- Building:
npm run build
- Production Mode: Set
.env
toNODE_ENV="production"
thennpm run build && npm run start
We'd love to hear your feedback and suggestions for further improvements. Feel free to contribute and join us in making backend development cleaner and faster!
๐ Happy coding!