{"id":26700386,"url":"https://github.com/michalbastrzyk/nextjs-starter-kit","last_synced_at":"2025-08-11T20:15:34.905Z","repository":{"id":284580167,"uuid":"955373622","full_name":"MichalBastrzyk/nextjs-starter-kit","owner":"MichalBastrzyk","description":"A modern, production-ready Next.js starter kit featuring shadcn/ui components, Drizzle ORM, TypeScript, and Tailwind CSS. Built with best practices and developer experience in mind.","archived":false,"fork":false,"pushed_at":"2025-05-18T11:56:40.000Z","size":53185,"stargazers_count":3,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-18T12:30:35.675Z","etag":null,"topics":["boilerplate","drizzle-orm","eslint","nextjs","nextjs-starter","prettier","react","react-hook-form","shadcn-ui","starter-kit","tailwindcss","template","typescript","zod"],"latest_commit_sha":null,"homepage":"https://nextjs-starter-kit.appi.codes/","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/MichalBastrzyk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2025-03-26T14:38:24.000Z","updated_at":"2025-05-18T11:56:43.000Z","dependencies_parsed_at":"2025-05-18T12:35:54.689Z","dependency_job_id":null,"html_url":"https://github.com/MichalBastrzyk/nextjs-starter-kit","commit_stats":null,"previous_names":["michalbastrzyk/nextjs-starter-kit"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/MichalBastrzyk/nextjs-starter-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalBastrzyk%2Fnextjs-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalBastrzyk%2Fnextjs-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalBastrzyk%2Fnextjs-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalBastrzyk%2Fnextjs-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MichalBastrzyk","download_url":"https://codeload.github.com/MichalBastrzyk/nextjs-starter-kit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MichalBastrzyk%2Fnextjs-starter-kit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266506208,"owners_count":23940019,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["boilerplate","drizzle-orm","eslint","nextjs","nextjs-starter","prettier","react","react-hook-form","shadcn-ui","starter-kit","tailwindcss","template","typescript","zod"],"created_at":"2025-03-27T00:19:58.198Z","updated_at":"2025-07-22T13:34:42.735Z","avatar_url":"https://github.com/MichalBastrzyk.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Next.js Starter Kit\n\nA modern, production-ready Next.js starter kit with everything you need to build fast, beautiful, and responsive web applications.\n\n## 🚀 Features\n\n- ⚡️ **Next.js 15** with App Router\n- 🎨 **Tailwind CSS** for styling\n- 📦 **TypeScript** for type safety\n- 🎯 **ESLint** \u0026 **Prettier** for code quality\n- 📱 **Responsive** design\n- 🎨 **shadcn/ui** components\n- 📊 **Drizzle ORM** for database\n- 🔐 **Better-Auth** for authentication with **role-based permissions** with type-safe checks\n- 📧 **React Email** for email system with **Mailpit** for local email testing\n- ☁️ **LocalStack** for local AWS service testing (e.g., S3)\n- 🔒 **next-safe-action** for type-safe server actions\n- 📊 **shadcn-table** for data tables\n- 🔄 **React Hook Form** for forms\n- 📝 **Zod** for validation\n- 🎨 **Tailwind Animate** for animations\n- 📱 **Mobile First** approach\n- 🧪 **Playwright** for E2E testing\n- ⚡️ **Vitest** for unit testing\n\n## 📁 Project Structure\n\n```\nsrc/\n├── app/                 # Next.js app router pages and layouts\n├── components/          # Reusable UI components\n├── config/              # Configuration files\n├── emails/              # Email templates using React Email\n├── lib/                 # Utility functions and shared logic\n├── server/              # Server-side code (DB, Auth, API logic)\n└── env.js               # Environment variables validation\ne2e/                     # End-to-end tests with Playwright\n├── auth/                # Authentication-related tests\n├── navigation/          # Navigation flow tests\n├── fixtures/            # Test fixtures and helpers\n└── utils/               # Test utilities\ntemp/                    # Temporary files and folder\n├── localstack/          # LocalStack configuration for AWS services\n├── mailpit/             # Mailpit configuration for local email testing\n├── playwright-report/   # Playwright test reports\n└── playwright-results/  # Playwright test results\n```\n\n## 🚀 Getting Started\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/yourusername/nextjs-starter-kit.git\n   cd nextjs-starter-kit\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   pnpm install\n   ```\n\n3. **Set up environment variables**\n\n   Edit `.env` with your configuration.\n\n4. **Start the development server and Docker services**\n\n   The `docker-compose.yml` includes services like Mailpit for email testing and LocalStack for emulating AWS services (like S3) locally.\n\n   ```bash\n   docker-compose up -d  # Start Mailpit, LocalStack, and other services\n   pnpm dev\n   ```\n\n5. **Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.**\n\n6. **For email testing, access Mailpit at [http://localhost:8025](http://localhost:8025)**\n\n## 🛠️ Available Scripts\n\n- `dev` - Start development server with Turbopack\n- `build` - Build for production\n- `start` - Start production server\n- `lint` - Run ESLint\n- `lint:fix` - Fix ESLint issues\n- `typecheck` - Run TypeScript compiler check\n- `format:write` - Format code with Prettier\n- `format:check` - Check code formatting\n- `db:push` - Push schema changes to the database (SQLite)\n- `db:generate` - Generate DB migration files\n- `db:migrate` - Apply DB migrations\n- `db:studio` - Open Drizzle Studio GUI\n- `email:dev` - Start React Email development server\n- `test:unit` - Run unit tests with Vitest\n- `test:e2e` - Run Playwright E2E tests\n- `test:e2e:ui` - Run Playwright tests with UI mode\n\n## 📚 Documentation\n\nFor more information about the technologies used in this starter kit:\n\n- [Next.js Documentation](https://nextjs.org/docs)\n- [Tailwind CSS Documentation](https://tailwindcss.com/docs)\n- [shadcn/ui Documentation](https://ui.shadcn.com)\n- [Drizzle ORM Documentation](https://orm.drizzle.team)\n- [Better-Auth Documentation](https://www.better-auth.com/)\n- [next-safe-action Documentation](https://next-safe-action.dev/docs/getting-started)\n- [Mailpit Documentation](https://github.com/axllent/mailpit)\n- [Vitest Documentation](https://vitest.dev/)\n- [Playwright Documentation](https://playwright.dev/docs/intro)\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichalbastrzyk%2Fnextjs-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichalbastrzyk%2Fnextjs-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichalbastrzyk%2Fnextjs-starter-kit/lists"}