SH
shakibhasan09/turborepo-starter-kit
A production-ready monorepo starter kit for modern full-stack applications featuring Hono API, Vite + shadcn UI, Drizzle ORM, BullMQ queues, and Dockerized infrastructure. Powered by Turborepo ⚡
TurboFullStack Starter 🚀
A production-ready monorepo starter kit for modern full-stack applications featuring Hono API, Vite + shadcn UI, Drizzle ORM, BullMQ queues, and Dockerized infrastructure. Powered by Turborepo ⚡
Features
- 🔥 Hono.js API server with TypeScript
- ⚡ Vite React frontend with shadcn/ui components
- 🐘 PostgreSQL database with Drizzle ORM
- 📮 Redis queue system with BullMQ
- 🐳 Docker Compose for Postgres & Redis
- 📦 Dev Container setup for VS Code
- ⚡ Turborepo optimized monorepo architecture
Getting Started
Prerequisites
- Node.js v18+
- Docker & Docker Compose
- VS Code Dev Containers (optional but recommended)
Quick Start
- Clone the repository
git clone https://github.com/shakibhasan09/turbo-repo-starter-kit.git
cd turbo-repo-starter-kit- Install dependencies
pnpm install- Setup environment variables
cp apps/api/.env.example apps/api/.env
cp apps/web/.env.local.example apps/web/.env.local- Start database & redis
docker-compose up -d- Run development servers
pnpm devTech Stack 🛠️
API (apps/api)
- Hono - Ultrafast edge-ready web framework
- Drizzle ORM - TypeScript ORM for PostgreSQL
- Zod - Schema validation
- Redis - Queue persistence
Web (apps/web)
- Vite - Next-gen frontend tooling
- shadcn/ui - Beautiful UI components
- React Query - Data fetching
- React Router - Tanstack Router
- Tailwind CSS - Styling
Database (packages/postgres-database)
- PostgreSQL - Relational database
- Drizzle Kit - Database migrations
Queue (packages/queue-worker)
DevOps
- Turborepo - Monorepo build system
- Docker - Containerization
- Dev Containers - Consistent development environment
Project Structure 📁
turbo-repo-starter-kit/
├── apps/
│ ├── api/
│ │ ├── src/
│ │ └── package.json
│ │
│ └── web/
│ ├── src/
│ └── package.json
│
├── packages/
│ ├── postgres-database/
│ │ ├── src/
│ │ └── package.json
│ │
│ └── queue-worker/
│ ├── src/
│ └── package.json
│
├── docker-compose.yml # Postgres & Redis services
└── package.json # Turborepo workspace configEnvironment Setup 🔒
- Update database credentials in
apps/api/.env:
DATABASE_URL="postgres://user:pass@localhost:5432/dbname"
REDIS_URL="redis://localhost:6379"- Configure frontend in
apps/web/.env:
VITE_API_URL=http://localhost:3000Development Workflow 🛠️
| Command | Description |
|---|---|
pnpm dev |
Start web + api in dev mode |
pnpm build |
Build all packages |
pnpm db:generate |
Generate Drizzle migrations |
pnpm db:migrate |
Run database migrations |
pnpm format |
Format all code with Prettier |
pnpm lint |
Lint all packages |
Contributing 🤝
Contributions welcome! Please follow:
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a pull request
License 📄
MIT License - see LICENSE for details
Happy coding! 🚀 Built with ❤️ by Sakib Hasan
On this page
Languages
TypeScript96.4%JavaScript1.7%CSS1.4%HTML0.5%
Contributors
Created January 25, 2025
Updated March 2, 2026