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!