{"id":30907585,"url":"https://github.com/suiramdev/next-starter","last_synced_at":"2025-10-09T19:03:56.774Z","repository":{"id":311990546,"uuid":"962266416","full_name":"suiramdev/next-starter","owner":"suiramdev","description":"Production-ready Next.js monorepo template with auth, database, and UI components.","archived":false,"fork":false,"pushed_at":"2025-08-28T07:49:09.000Z","size":671,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-09T15:14:26.378Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/suiramdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-04-07T22:42:59.000Z","updated_at":"2025-08-27T22:35:10.000Z","dependencies_parsed_at":"2025-08-28T06:48:54.330Z","dependency_job_id":null,"html_url":"https://github.com/suiramdev/next-starter","commit_stats":null,"previous_names":["suiramdev/next-starter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/suiramdev/next-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suiramdev%2Fnext-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suiramdev%2Fnext-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suiramdev%2Fnext-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suiramdev%2Fnext-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/suiramdev","download_url":"https://codeload.github.com/suiramdev/next-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suiramdev%2Fnext-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276204824,"owners_count":25602738,"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-09-21T02:00:07.055Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":[],"created_at":"2025-09-09T13:52:24.050Z","updated_at":"2025-09-21T06:38:41.561Z","avatar_url":"https://github.com/suiramdev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!IMPORTANT]\n\u003e This project is currently under active development.\n\n# Next.js Starter Kit\n\nWelcome to the Next.js Starter Kit—a comprehensive, production-ready monorepo template designed to accelerate the development of modern web applications. This template integrates essential features such as authentication, database management, and a complete design system, enabling you to focus on building your unique business logic.\n\n## Table of Contents\n\n1. [Project Overview](#project-overview)\n2. [Features](#features)\n3. [Tech Stack](#tech-stack)\n4. [Getting Started](#getting-started)\n   - [Prerequisites](#prerequisites)\n   - [Installation](#installation)\n   - [Environment Variables](#environment-variables)\n   - [Database Setup](#database-setup)\n   - [Running the Application](#running-the-application)\n5. [Project Structure](#project-structure)\n6. [Available Scripts](#available-scripts)\n7. [Contributing](#contributing)\n8. [License](#license)\n\n## Project Overview\n\nThe Next.js Starter Kit is crafted to provide developers with a solid foundation for building scalable and maintainable web applications. By leveraging modern technologies and best practices in a monorepo architecture, this template reduces the time and effort required to launch your product.\n\n## Features\n\n- **Authentication**: Complete auth system with Better Auth supporting email/password authentication, session management, and middleware-based route protection\n- **Monorepo Architecture**: Turborepo-powered workspace with shared packages and optimized build caching\n- **Multiple Applications**: Web app, admin dashboard, documentation site, and Storybook component library\n- **Database Integration**: PostgreSQL with Prisma ORM and Kysely query builder for type-safe database operations\n- **UI Components**: Comprehensive component library built with shadcn/ui\n- **Modern Styling**: Tailwind CSS v4 with modern design tokens and theming support\n- **Type Safety**: Full TypeScript support across all packages with shared configurations\n- **Development Tools**: Biome for linting/formatting, Turbopack for fast development builds\n- **Documentation**: Nextra-powered documentation site with MDX support\n\n## Tech Stack\n\n- **Frontend**: [Next.js 15](https://nextjs.org/) with App Router, [React 19](https://react.dev/), [TypeScript](https://www.typescriptlang.org/), [Tailwind CSS v4](https://tailwindcss.com/), [shadcn/ui](https://ui.shadcn.com/)\n- **Backend**: [Better Auth](https://github.com/ajonp/better-auth), [PostgreSQL](https://www.postgresql.org/) with [Docker](https://www.docker.com/)\n- **Database**: [Prisma ORM](https://www.prisma.io/), [Kysely query builder](https://kysely.dev/)\n- **Monorepo**: [Turborepo](https://turbo.build/) with [pnpm workspaces](https://pnpm.io/workspaces)\n- **Development**: [Biome](https://biomejs.dev/), [Turbopack](https://turbo.build/pack), [React Scan](https://github.com/biomejs/biome)\n- **Documentation**: [Nextra](https://nextra.site/) with [MDX](https://mdxjs.com/), [Storybook](https://storybook.js.org/)\n\n## Getting Started\n\n### Prerequisites\n\nBefore you begin, ensure you have the following installed:\n\n- **Node.js**: Version 22 or higher\n- **pnpm**: Version 9.0.0 or higher\n- **Docker**: For database setup and management\n\n### Installation\n\n1. **Clone the Repository**:\n\n   ```bash\n   git clone https://github.com/suiramdev/next-starter.git\n   cd next-starter\n   ```\n\n2. **Install Dependencies**:\n\n   ```bash\n   pnpm install\n   ```\n\n### Environment Variables\n\nCreate a `.env` file in the root directory and populate it with the necessary environment variables:\n\n| Variable Name                      | Description                                                    | Default Value                                                       |\n| ---------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------- |\n| `DATABASE_URL`                     | PostgreSQL connection string                                   | `postgresql://postgres:postgres@localhost:5432/postgres`            |\n| `BETTER_AUTH_SECRET`               | Secret key for authentication (use strong value in production) | `secret`                                                            |\n| `NEXT_PUBLIC_BETTER_AUTH_BASE_URL` | Base URL for auth service                                      | `http://localhost:3002`                                             |\n| `CORS_ALLOWED_ORIGINS`             | Comma-separated list of allowed origins for CORS               | `http://localhost:3000,http://localhost:3001,http://localhost:3002` |\n\nFor a complete list of required environment variables and example values, refer to the [`.env.example`](./.env.example) file.\n\n### Database Setup\n\n1. **Start the Database**:\n\n   ```bash\n   docker compose up -d\n   ```\n\n2. **Generate Prisma Client and Run Migrations**:\n\n   ```bash\n   pnpm db:generate\n   pnpm db:migrate\n   ```\n\n3. **Generate Authentication Schema**:\n\n   ```bash\n   pnpm auth:generate\n   ```\n\n### Running the Application\n\nStart the development server:\n\n```bash\npnpm dev\n```\n\nThe applications will be accessible at:\n\n- **Web App**: http://localhost:3000\n- **Admin Dashboard**: http://localhost:3001\n- **Storybook**: http://localhost:4000\n- **Documentation**: http://localhost:4001\n\n## Project Structure\n\nThe project is organized into a monorepo architecture with the following structure:\n\n```\napps/\n├── web/                  # Main web application (port 3000)\n├── admin/                # Admin dashboard (port 3001)\n├── docs/                 # Documentation site (port 4001)\n├── storybook/            # Component library (port 4000)\n└── common/               # Shared API routes\n\npackages/\n├── auth/                 # Authentication system (Better Auth)\n├── db/                   # Database layer (Prisma + Kysely)\n├── ui/                   # Shared UI components\n├── env/                  # Environment variable validation\n├── biome-config/         # Shared linting configuration\n└── typescript-config/    # Shared TypeScript configurations\n```\n\nThis structure promotes modularity and reusability across the codebase.\n\n## Available Scripts\n\n### Development Commands\n\n```bash\n# Start all applications in development mode\npnpm dev\n\n# Build all packages and applications\npnpm build\n\n# Run linting across all packages\npnpm lint\n\n# Format code across all packages\npnpm format\n\n# Type check all packages\npnpm check-types\n```\n\n### Database Commands\n\n```bash\n# Generate Prisma client and types\npnpm db:generate\n\n# Run database migrations\npnpm db:migrate\n\n# Open Prisma Studio\npnpm db:studio\n\n# Reset database (caution: deletes all data)\npnpm db:reset\n\n# Deploy migrations to production\npnpm db:deploy\n\n# Push schema changes without migrations\npnpm db:push\n```\n\n### Authentication Commands\n\n```bash\n# Generate authentication schema\npnpm auth:generate\n```\n\n## Contributing\n\nContributions are welcome! Please follow these steps to contribute:\n\n1. **Fork the Repository**: Click the \"Fork\" button at the top right of the repository page\n2. **Create a Branch**: Use a descriptive name for your branch (`git checkout -b feature/amazing-feature`)\n3. **Make Changes**: Implement your feature or fix\n4. **Test**: Ensure all tests pass and code follows the project standards\n5. **Submit a Pull Request**: Provide a clear description of your changes\n\nFor detailed guidelines, please ensure your code follows the established patterns and includes appropriate tests.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuiramdev%2Fnext-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuiramdev%2Fnext-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuiramdev%2Fnext-starter/lists"}