🎯 Quick Navigation
New here? → Getting Started | Complete ExampleBuilding features? → Domain Generator | Template SystemUnderstanding the code? → Architecture | Best Practices | Repository PatternSecurity & Infrastructure? → Environment | Security & Keys | Database MigrationsAPI & Auth? → Identity, Credentials & SSO | Health CheckTesting? → Testing GuideDeploying? → CI/CD Pipeline | Deployment Guide | Process ManagerNeed help? → Troubleshooting
The Web Development "Sweet Spot"
This boilerplate is designed to be the perfect middle ground between high-performance low-level languages and complex enterprise frameworks:
- Performance: Near Go-like speeds thanks to the Bun runtime.
- Productivity: Full "batteries-included" experience with CLI scaffolding, i18n, and integrated caching.
- Maintainability: Clean architecture with zero-dependency TypeScript templates.
See the Full Comparison in the readme.
Continuous Integration
This project utilizes continuous integration to automate checks and builds:
- CodeQL: Analyzes code for security vulnerabilities.
- Quality Gate: Automates build, test, and linting processes for the
mainandstagingbranches. - Release Train: Automates the stabilization process between
stagingandmain.
Project Statistics
- Commit Activity: Track commit activity over time.
- Last Commit: View the most recent commits.
- Contributors: See who has contributed to this project.
Technologies Used
| Technology | Description |
|---|---|
| Typescript | A programming language that adds static typing to JavaScript. Facilitates the development of robust and scalable code. |
| Drizzle-ORM | An Object-Relational Mapping (ORM) library for TypeScript. Simplifies database interactions. |
| Fastify | A fast and low overhead web framework for Node.js. |
| Redis | An in-memory data structure store, widely used as a cache or message broker. Enhances data storage and retrieval efficiency. |
| TSX | TypeScript Execute. A CLI tool to execute TypeScript files with zero configuration. |
| TSUP | A fast TypeScript bundler tool. Simplifies the build and distribution process. |
| Biome | A fast all-in-one toolchain for web projects (formatter and linter), used to maintain code quality. |
| Bun Test | A fast test runner for JavaScript and TypeScript projects, used to ensure code quality. |
| PM2 | Process manager for Node.js applications that simplifies deployment, management, and monitoring of applications in production. |
| Status Page | Monitors the availability and performance of online services (Uptime Kuma). |
Interactive Repository Map
Visualize the project structure and how the different layers interact:
Main Folders (src/)
| Folder | Description |
|---|---|
commands/ | Application entry points, process handlers (PM2), and build scripts. |
domain/ | Business logic layer: Entities, Actions, Schemas, and Routes organized by domain. |
functions/ | Shared utilities and helper functions used across the project. |
infrastructure/ | Technical implementation: Cache, Database, Server, i18n, etc. |
Infrastructure Details
| Folder | Description |
|---|---|
| cache | Redis implementation for fast data retrieval with TTL support. |
| languages | Internationalization (i18n) support for multi-language responses. |
| logs | Standardized logging handlers. |
| messages | Messaging system supporting both Redis (Pub/Sub) and Node.js Events. |
| migrations | Automated database schema versioning scripts via Drizzle Kit. |
| repositories | Data access layer and database connection management. |
| server | Core Fastify (HTTP) and Scalable WebSockets. |
| settings | Environment variables and application-wide configuration. |
Internal References
Observations: This list of folders is not exhaustive. The project may contain other files and directories not listed here. For more detailed information, refer to the specific documentation pages in the sidebar.