-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Kishor Naik edited this page Oct 6, 2025
·
11 revisions
π Welcome to the Boilerplate Wiki
This boilerplate is designed to help you hit the ground running when building RESTful APIs using Express.js, TypeScript, and TSOA β all wrapped in a modular, scalable architecture. Whether you're launching a new service or standardizing API development across projects, this starter kit gives you a solid foundation built for velocity, safety, and developer experience.
- Express.js for flexible, battle-tested HTTP handling
- Type-safe routing powered by TSOA
- Modular architecture that promotes clarity and maintainability
- Pre-configured middlewares for logging, error handling, security, and validation
- Integrated logger and Swagger/OpenAPI documentation out of the box
This boilerplate includes ready-to-use support for common background workflows:
- π§΅ BullMQ β Redis-backed job queues
- β° Cron Jobs β Time-based task scheduling
- π Kafka β Distributed event streaming
- π¨ RabbitMQ β Message brokering for decoupled services
- π‘ Pusher β Real-time messaging and push notifications
- π§ In-memory Event Dispatcher β Lightweight pub-sub flows Each worker runs independently and can be deployed separately using Docker or PM2.
To streamline development and enforce quality, the boilerplate includes:
- β‘ SWC β Lightning-fast Rust-based TypeScript compiler
- π ESLint β Code linting and style enforcement
- β¨ Prettier β Automatic code formatting
- πΆ Husky β Git hooks for pre-commit checks
- π PM2 β Production-grade process manager
- π§ͺ Devcontainer support for VS Code
- π³ Docker base images for dev and prod environments It also integrates with custom open-source NPM utilities to simplify common tasks and enhance developer experience.
- π§© Bootstrap Guide Learn how the application initializes its lifecycle, DI container, and middleware stack.
- βοΈ .Env Configuration Guide Understand how to manage environment variables securely and modularly.
- π§± Modules (Feature Implementation Guide) Explore the modular structure for scalable feature development.
- π§ͺ Testing Guide Learn how to write integration and unit tests using supertest, expect, and node:test.
- π‘οΈ AES Encryption & Decryption Guide Implement secure request/response encryption using AES wrappers and DTO validation.
- π JWT Auth Security Guide Authenticate users and protect routes using token-based security with HS256/RS256 strategies, role-based access control, and structured claim validation.
- π HMAC Auth Security Guide Validate request integrity using per-user HMAC signatures, timestamp-based expiry, and dynamic key resolution via client ID.
- π In-Process Event Dispatch Guide Dispatch and handle domain events within the same process using a clean pub-sub pattern.
- β° Cron Job Worker Guide Schedule and manage background tasks using cron-based workers.
- π Logger Guide Structured logging with trace IDs and contextual metadata.
- π§Ό ExceptionWrapper Guide Standardized error handling with status codes and messages.
- π‘οΈ GuardWrapper Guide Defensive programming patterns for runtime checks and guards.
- π― Result and ResultFactory Guide Functional result handling for success/error flows.
- β Validation Guide DTO validation using class-validator and custom decorators.