{"id":48427306,"url":"https://github.com/dzikrisyairozi/monorepo-fullstack-starter","last_synced_at":"2026-04-06T09:31:31.942Z","repository":{"id":309953793,"uuid":"1017456381","full_name":"dzikrisyairozi/monorepo-fullstack-starter","owner":"dzikrisyairozi","description":"A production-ready fullstack starter built with Turborepo monorepo architecture, featuring Next.js 15 web \u0026 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.","archived":false,"fork":false,"pushed_at":"2026-04-01T17:15:33.000Z","size":2013,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-02T00:09:11.737Z","etag":null,"topics":["axum","commit","docker","eslint","fullstack","github-actions","husky","monorepo","nestjs","nextjs","postgresql","prettier","prisma","react","rust","shadcn-ui","starter-template","tailwindcss","turborepo","typescript"],"latest_commit_sha":null,"homepage":"https://docs-starter.dzikrisyairozi.com/docs","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dzikrisyairozi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-10T15:00:31.000Z","updated_at":"2026-04-01T16:26:00.000Z","dependencies_parsed_at":"2025-08-14T20:28:04.657Z","dependency_job_id":"d1bef035-7fdc-4a95-a84c-861ffe81662f","html_url":"https://github.com/dzikrisyairozi/monorepo-fullstack-starter","commit_stats":null,"previous_names":["dzikrisyairozi/turborepo-fullstack-starter","dzikrisyairozi/monorepo-fullstack-starter"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/dzikrisyairozi/monorepo-fullstack-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzikrisyairozi%2Fmonorepo-fullstack-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzikrisyairozi%2Fmonorepo-fullstack-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzikrisyairozi%2Fmonorepo-fullstack-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzikrisyairozi%2Fmonorepo-fullstack-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dzikrisyairozi","download_url":"https://codeload.github.com/dzikrisyairozi/monorepo-fullstack-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dzikrisyairozi%2Fmonorepo-fullstack-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31466585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T08:36:52.050Z","status":"ssl_error","status_checked_at":"2026-04-06T08:36:51.267Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axum","commit","docker","eslint","fullstack","github-actions","husky","monorepo","nestjs","nextjs","postgresql","prettier","prisma","react","rust","shadcn-ui","starter-template","tailwindcss","turborepo","typescript"],"created_at":"2026-04-06T09:31:31.194Z","updated_at":"2026-04-06T09:31:31.937Z","avatar_url":"https://github.com/dzikrisyairozi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Monorepo Full-Stack Starter\n\nA 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.\n\n\u003cdiv align=\"center\"\u003e\n\n[![Docs](https://img.shields.io/badge/Documentation-Ready-blue?style=for-the-badge\u0026logo=googledocs\u0026logoColor=white)](https://docs-starter.dzikrisyairozi.com/docs)\n[![Web Preview](https://img.shields.io/badge/Web_Preview-Live-orange?style=for-the-badge\u0026logo=vercel\u0026logoColor=white)](https://web-starter.dzikrisyairozi.com/)\n[![Dashboard Preview](https://img.shields.io/badge/Dashboard-Live-purple?style=for-the-badge\u0026logo=react\u0026logoColor=white)](https://dashboard-starter.dzikrisyairozi.com/)\n\n\u003c/div\u003e\n\n## ✨ Features\n\n- 🏗️ **Turborepo** - High-performance build system for JavaScript/TypeScript monorepos\n- ⚡ **Next.js 15** - React framework with App Router for Web \u0026 Docs\n- 🦀 **Rust** - Ultra-fast backend API built with **Axum** and **SQLx**\n- 🛠️ **TanStack Router** - Type-safe routing for the fast admin dashboard\n- 🎨 **shadcn/ui** - Beautiful, accessible UI components built with Radix UI and Tailwind CSS\n- ✨ **Framer Motion \u0026 Three.js** - Premium 3D animations and smooth transitions\n- 🎯 **TypeScript** - Full type safety across all frontend applications\n- 🎨 **Tailwind CSS** - Utility-first CSS framework\n- 📱 **Responsive Design** - Mobile-first approach with dark/light mode support\n- 🔧 **Developer Experience** - ESLint, Prettier, Husky, and Commitlint pre-configured\n- 🌍 **Internationalization (i18n)** - Full multi-language support (English/Indonesian) across Web, Docs, and Dashboard\n- 🐳 **Docker Ready** - Containerization support for easy deployment\n- 🔄 **CI/CD** - GitHub Actions workflows included\n\n## 📦 What's Inside?\n\nThis Monorepo includes the following packages and apps:\n\n### Apps\n\n- **`api`** - Rust backend API (Axum + SQLx)\n- **`dashboard`** - Admin dashboard (TanStack Router + React)\n- **`docs`** - Documentation site (Next.js + Fumadocs)\n- **`web`** - Premium landing page (Next.js + React Three Fiber)\n\n### Packages\n\n- **`@repo/api-types`** - Auto-generated TS types from the Rust API\n- **`@repo/i18n`** - Shared internationalization configuration and UI components\n- **`@repo/ui`** - Shared React component library\n- **`@repo/eslint-config`** - Shared ESLint configurations\n- **`@repo/tailwind-config`** - Shared Tailwind CSS theme\n- **`@repo/typescript-config`** - Shared TypeScript configurations\n\n### Tools \u0026 Configuration\n\n- **TypeScript** - Static type checking across all packages\n- **ESLint** - Code linting with custom rules\n- **Prettier** - Code formatting\n- **Husky** - Git hooks for code quality\n- **Commitlint** - Conventional commit message linting\n- **Tailwind CSS** - Utility-first styling\n- **Rust/Cargo** - Backend language and package manager\n- **Docker** - Containerization support\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- **Node.js** 22+\n- **pnpm** (recommended package manager)\n- **Git**\n\n### Installation\n\n1. **Use this template** (Recommended)\n   Click the **\"Use this template\"** button at the top of the GitHub repository to create your own copy and start building immediately.\n\n2. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/dzikrisyairozi/monorepo-fullstack-starter.git\n   cd monorepo-fullstack-starter\n   ```\n\n3. **Install dependencies**\n\n   ```bash\n   pnpm install\n   ```\n\n4. **Set up environment variables**\n\n   ```bash\n   # Copy environment files\n   cp apps/api/.env.example apps/api/.env\n   # Make sure to update your DATABASE_URL in apps/api/.env\n   ```\n\n5. **Set up the database** (if using the API)\n   ```bash\n   cd apps/api\n   cargo sqlx database setup\n   cd ../..\n   ```\n\n### Development\n\n**Start all applications:**\n\n```bash\npnpm dev\n```\n\n**Start specific applications:**\n\n```bash\n# Frontend only\npnpm dev:web\n\n# Dashboard only\npnpm dev:dashboard\n\n# Backend only\npnpm dev:api\n\n# Documentation\npnpm dev:docs\n```\n\n**Access your applications:**\n\n- 🌐 **Web App**: http://localhost:3000\n- 🔧 **API**: http://localhost:3001\n- 📚 **Docs**: http://localhost:3002\n- 📊 **Dashboard**: http://localhost:5174\n\n### Build\n\n**Build all packages:**\n\n```bash\npnpm build\n```\n\n**Build specific packages:**\n\n```bash\npnpm build --filter=web\npnpm build --filter=@repo/dashboard\npnpm build --filter=api\npnpm build --filter=docs\n```\n\n## 🧩 Component Library\n\nThe `@repo/ui` package includes 40+ pre-built components from shadcn/ui:\n\n### Layout Components\n\n- **Card** - Flexible content containers\n- **Separator** - Visual dividers\n- **Aspect Ratio** - Maintain aspect ratios\n- **Container** - Responsive containers\n\n### Form Components\n\n- **Button** - Various button styles and sizes\n- **Input** - Text inputs with validation\n- **Textarea** - Multi-line text inputs\n- **Select** - Dropdown selections\n- **Checkbox** - Boolean inputs\n- **Radio Group** - Single selection from options\n- **Switch** - Toggle switches\n- **Slider** - Range inputs\n\n### Navigation\n\n- **Navigation Menu** - Complex navigation structures\n- **Breadcrumb** - Hierarchical navigation\n- **Pagination** - Page navigation\n- **Menubar** - Application menus\n\n### Feedback\n\n- **Alert** - Important messages\n- **Toast** - Temporary notifications\n- **Progress** - Loading indicators\n- **Skeleton** - Loading placeholders\n\n### Overlay\n\n- **Dialog** - Modal dialogs\n- **Drawer** - Slide-out panels\n- **Popover** - Contextual overlays\n- **Tooltip** - Helpful hints\n- **Sheet** - Side panels\n- **Hover Card** - Rich hover content\n\n### Data Display\n\n- **Table** - Data tables\n- **Badge** - Status indicators\n- **Avatar** - User representations\n- **Calendar** - Date selection\n- **Chart** - Data visualizations\n\n## 🛠️ Development Scripts\n\n```bash\n# Development\npnpm dev              # Start all apps in development\npnpm dev:web          # Start web app only\npnpm dev:dashboard    # Start dashboard only\npnpm dev:api          # Start API only\npnpm dev:docs         # Start docs only\n\n# Building\npnpm build            # Build all packages\npnpm build:web        # Build web app only\npnpm build:dashboard  # Build dashboard only\npnpm build:api        # Build API only\npnpm build:docs       # Build docs only\n\n# Code Quality\npnpm lint             # Lint all packages\npnpm lint:fix         # Fix linting issues\npnpm format           # Format code with Prettier\npnpm type-check       # Run TypeScript checks\n\n# Testing\npnpm test             # Run all tests\npnpm test:watch       # Run tests in watch mode\n\n# Database (API)\ncd apps/api\ncargo sqlx database setup # Run migrations\ncargo sqlx prepare        # Prepare query metadata\ncd ../..\n```\n\n## 🐳 Docker Support\n\nBuild and run with Docker:\n\n```bash\n# Build Docker image\ndocker build -t monorepo-fullstack-starter .\n\n# Run container\ndocker run -p 3000:3000 monorepo-fullstack-starter\n```\n\n## 🔧 Configuration\n\n### Environment Variables\n\n**Web App (`apps/web/.env`)**\n\n```env\nNEXT_PUBLIC_API_URL=http://localhost:3001\n```\n\n**Database/API (`apps/api/.env`)**\n\n```env\nDATABASE_URL=\"postgresql://user:password@localhost:5432/mydb\"\nJWT_SECRET=\"your-jwt-secret\"\n```\n\n### Customization\n\n- **Theme**: Modify `packages/tailwind-config/theme.css` for custom themes (if configured)\n- **Components**: Add new components to `packages/ui/src/`\n- **API Routes**: Add endpoints in `apps/api/src/`\n- **Database**: Update schema via migrations in `apps/api/migrations`\n\n## 🚢 Deployment\n\n### Vercel (Recommended for Frontend)\n\n1. **Connect your repository** to Vercel\n2. **Configure build settings**:\n   - Build Command: `pnpm build --filter=web`\n   - Output Directory: `apps/web/.next`\n3. **Set environment variables** in Vercel dashboard\n4. **Deploy** 🚀\n\n### Docker Deployment\n\n```bash\n# Build production image\ndocker build -t turborepo-starter .\n\n# Run in production\ndocker run -p 3000:3000 -e NODE_ENV=production turborepo-starter\n```\n\n### Railway/Render (API)\n\n1. **Connect your repository**\n2. **Environment**: Select Rust\n3. **Set build command**: `cargo build --release`\n4. **Set start command**: `./target/release/api`\n5. **Configure environment variables**\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Quick Contribution Steps\n\n1. **Fork the repository**\n2. **Create a feature branch**: `git checkout -b feat/amazing-feature`\n3. **Make your changes**\n4. **Run tests**: `pnpm test`\n5. **Commit**: `git commit -m \"feat: add amazing feature\"`\n6. **Push**: `git push origin feat/amazing-feature`\n7. **Open a Pull Request**\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- [Turborepo](https://turborepo.com/) - The build system that powers this monorepo\n- [shadcn/ui](https://ui.shadcn.com/) - Beautiful and accessible UI components\n- [Axum](https://github.com/tokio-rs/axum) - A fast, ergonomic, and modular web framework for Rust\n- [SQLx](https://github.com/launchbadge/sqlx) - The Rust SQL Toolkit\n- [TanStack Router](https://tanstack.com/router) - Fully type-safe routing for React\n- [Fumadocs](https://fumadocs.com/) - The beautiful documentation framework\n- [Tailwind CSS](https://tailwindcss.com/) - A utility-first CSS framework\n\n## 📚 Learn More\n\n### Documentation\n\n- [Turborepo Docs](https://turborepo.com/docs)\n- [Next.js Docs](https://nextjs.org/docs)\n- [Vite Docs](https://vitejs.dev/guide/)\n- [Actix-Web Docs](https://actix.rs/docs/)\n- [shadcn/ui Docs](https://ui.shadcn.com/)\n- [Tailwind CSS Docs](https://tailwindcss.com/docs)\n\n### Turborepo Features\n\n- [Tasks](https://turborepo.com/docs/crafting-your-repository/running-tasks)\n- [Caching](https://turborepo.com/docs/crafting-your-repository/caching)\n- [Remote Caching](https://turborepo.com/docs/core-concepts/remote-caching)\n- [Filtering](https://turborepo.com/docs/crafting-your-repository/running-tasks#using-filters)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**[⭐ Star this repo](https://github.com/dzikrisyairozi/monorepo-fullstack-starter)** • **[🐛 Report Bug](https://github.com/dzikrisyairozi/monorepo-fullstack-starter/issues)** • **[✨ Request Feature](https://github.com/dzikrisyairozi/monorepo-fullstack-starter/issues)**\n\nMade with ❤️ by @dzikrisyairozi\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdzikrisyairozi%2Fmonorepo-fullstack-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdzikrisyairozi%2Fmonorepo-fullstack-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdzikrisyairozi%2Fmonorepo-fullstack-starter/lists"}