Loading repository data…
Loading repository data…
dzikrisyairozi / repository
A production-ready fullstack starter built with Turborepo monorepo architecture, featuring Next.js 15 web & docs, a high-performance Rust (Axum) backend, and a React dashboard. Includes shadcn/ui, SQLx (PostgreSQL), Docker support, and complete developer tooling with ESLint, Prettier, Husky, and Commitlint for an optimal development.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A production-ready fullstack starter built with Turborepo monorepo architecture, featuring Next.js 15 frontend, a high-performance Rust (Axum) backend, and a comprehensive shadcn/ui component library. Includes a React admin dashboard, SQLx (PostgreSQL), Docker support, and complete developer tooling with ESLint, Prettier, Husky, and Commitlint for an optimal development experience.
This Monorepo includes the following packages and apps:
api - Rust backend API (Axum + SQLx)dashboard - Admin dashboard (TanStack Router + React)docs - Documentation site (Next.js + Fumadocs)web - Premium landing page (Next.js + React Three Fiber)@repo/api-types - Auto-generated TS types from the Rust API@repo/i18n - Shared internationalization configuration and UI components@repo/ui - Shared React component library@repo/eslint-config - Shared ESLint configurations@repo/tailwind-config - Shared Tailwind CSS theme@repo/typescript-config - Shared TypeScript configurationsUse this template (Recommended) Click the "Use this template" button at the top of the GitHub repository to create your own copy and start building immediately.
Clone the repository
git clone https://github.com/dzikrisyairozi/monorepo-fullstack-starter.git
cd monorepo-fullstack-starter
Install dependencies
pnpm install
Set up environment variables
# Copy environment files
cp apps/api/.env.example apps/api/.env
# Make sure to update your DATABASE_URL in apps/api/.env
Set up the database (if using the API)
cd apps/api
cargo sqlx database setup
cd ../..
Start all applications:
pnpm dev
Start specific applications:
# Frontend only
pnpm dev:web
# Dashboard only
pnpm dev:dashboard
# Backend only
pnpm dev:api
# Documentation
pnpm dev:docs
Access your applications:
Build all packages:
pnpm build
Build specific packages:
pnpm build --filter=web
pnpm build --filter=@repo/dashboard
pnpm build --filter=api
pnpm build --filter=docs
The @repo/ui package includes 40+ pre-built components from shadcn/ui:
# Development
pnpm dev # Start all apps in development
pnpm dev:web # Start web app only
pnpm dev:dashboard # Start dashboard only
pnpm dev:api # Start API only
pnpm dev:docs # Start docs only
# Building
pnpm build # Build all packages
pnpm build:web # Build web app only
pnpm build:dashboard # Build dashboard only
pnpm build:api # Build API only
pnpm build:docs # Build docs only
# Code Quality
pnpm lint # Lint all packages
pnpm lint:fix # Fix linting issues
pnpm format # Format code with Prettier
pnpm type-check # Run TypeScript checks
# Testing
pnpm test # Run all tests
pnpm test:watch # Run tests in watch mode
# Database (API)
cd apps/api
cargo sqlx database setup # Run migrations
cargo sqlx prepare # Prepare query metadata
cd ../..
Build and run with Docker:
# Build Docker image
docker build -t monorepo-fullstack-starter .
# Run container
docker run -p 3000:3000 monorepo-fullstack-starter
Web App (apps/web/.env)
NEXT_PUBLIC_API_URL=http://localhost:3001
Database/API (apps/api/.env)
DATABASE_URL="postgresql://user:password@localhost:5432/mydb"
JWT_SECRET="your-jwt-secret"
packages/tailwind-config/theme.css for custom themes (if configured)packages/ui/src/apps/api/src/apps/api/migrationspnpm build --filter=webapps/web/.next# Build production image
docker build -t turborepo-starter .
# Run in production
docker run -p 3000:3000 -e NODE_ENV=production turborepo-starter
cargo build --release./target/release/apiWe welcome contributions! Please see our Contributing Guide for details.
git checkout -b feat/amazing-featurepnpm testgit commit -m "feat: add amazing feature"git push origin feat/amazing-featureThis project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by @dzikrisyairozi