A production-ready boilerplate using Fastify, TypeScript (Strict ESM), and Zod.
- Fastify v5: Latest framework version.
- TypeScript: Strict mode, ESM.
- Plugins: Modular architecture via
@fastify/autoload. - Validation: Zod +
fastify-type-provider-zod. - Databases: PostgreSQL, MySQL, MongoDB, Redis (Raw drivers).
- Testing: Tap.
-
Install dependencies:
pnpm install
-
Start Databases (Optional):
docker-compose up -d
-
Configure Environment: Create a
.envfile (optional, defaults provided):NODE_ENV=development PORT=3000 # Uncomment to enable DBs # POSTGRES_URL=postgres://user:password@localhost:5432/db # MYSQL_URL=mysql://user:password@localhost:3306/db # MONGO_URL=mongodb://localhost:27017/db # REDIS_URL=redis://localhost:6379
-
Run Dev Server:
pnpm dev
-
Test:
pnpm test
src/app.ts: App factory.src/server.ts: Entry point.src/plugins/: Global plugins (DBs, Config).src/routes/: Route modules.src/services/: Business logic / Raw DB queries.