{"id":14541553,"url":"https://github.com/midday-ai/v1","last_synced_at":"2025-05-14T18:05:22.113Z","repository":{"id":255375543,"uuid":"849400304","full_name":"midday-ai/v1","owner":"midday-ai","description":"An open-source starter kit based on Midday.","archived":false,"fork":false,"pushed_at":"2024-09-07T10:49:28.000Z","size":7422,"stargazers_count":3422,"open_issues_count":15,"forks_count":341,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-04-11T10:00:35.496Z","etag":null,"topics":["monorepo","nextjs","shadcn","tailwind","turborepo"],"latest_commit_sha":null,"homepage":"https://v1.run","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/midday-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2024-08-29T14:25:54.000Z","updated_at":"2025-04-10T01:23:09.000Z","dependencies_parsed_at":"2024-10-14T20:20:47.681Z","dependency_job_id":"ea216380-b7b0-4418-b293-763c0d6727ce","html_url":"https://github.com/midday-ai/v1","commit_stats":null,"previous_names":["midday-ai/v1"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/midday-ai%2Fv1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/midday-ai%2Fv1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/midday-ai%2Fv1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/midday-ai%2Fv1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/midday-ai","download_url":"https://codeload.github.com/midday-ai/v1/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254198514,"owners_count":22030965,"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","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":["monorepo","nextjs","shadcn","tailwind","turborepo"],"created_at":"2024-09-05T22:01:53.671Z","updated_at":"2025-05-14T18:05:17.082Z","avatar_url":"https://github.com/midday-ai.png","language":"TypeScript","funding_links":["https://polar.sh"],"categories":["TypeScript","tailwind","Boilerplates \u0026 Starters"],"sub_categories":[],"readme":"![hero](image.png)\n\n\n\u003cp align=\"center\"\u003e\n\t\u003ch1 align=\"center\"\u003e\u003cb\u003eCreate v1\u003c/b\u003e\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n    An open-source starter kit based on \u003ca href=\"https://midday.ai\"\u003eMidday\u003c/a\u003e.\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://v1.run\"\u003e\u003cstrong\u003eWebsite\u003c/strong\u003e\u003c/a\u003e · \n    \u003ca href=\"https://github.com/midday-ai/v1/issues\"\u003e\u003cstrong\u003eIssues\u003c/strong\u003e\u003c/a\u003e · \n    \u003ca href=\"#whats-included\"\u003e\u003cstrong\u003eWhat's included\u003c/strong\u003e\u003c/a\u003e ·\n    \u003ca href=\"#prerequisites\"\u003e\u003cstrong\u003ePrerequisites\u003c/strong\u003e\u003c/a\u003e ·\n    \u003ca href=\"#getting-started\"\u003e\u003cstrong\u003eGetting Started\u003c/strong\u003e\u003c/a\u003e ·\n    \u003ca href=\"#how-to-use\"\u003e\u003cstrong\u003eHow to use\u003c/strong\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\nEverything you need to build a production ready SaaS, it's a opinionated stack based on learnings from building Midday using the latest Next.js framework, it's a monorepo with a focus on code reuse and best practices that will grow with your business.\n\n## What's included\n\n[Next.js](https://nextjs.org/) - Framework\u003cbr\u003e\n[Turborepo](https://turbo.build) - Build system\u003cbr\u003e\n[Biome](https://biomejs.dev) - Linter, formatter\u003cbr\u003e\n[TailwindCSS](https://tailwindcss.com/) - Styling\u003cbr\u003e\n[Shadcn](https://ui.shadcn.com/) - UI components\u003cbr\u003e\n[TypeScript](https://www.typescriptlang.org/) - Type safety\u003cbr\u003e\n[Supabase](https://supabase.com/) - Authentication, database, storage\u003cbr\u003e\n[Upstash](https://upstash.com/) - Cache and rate limiting\u003cbr\u003e\n[React Email](https://react.email/) - Email templates\u003cbr\u003e\n[Resend](https://resend.com/) - Email delivery\u003cbr\u003e\n[i18n](https://next-international.vercel.app/) - Internationalization\u003cbr\u003e\n[Sentry](https://sentry.io/) - Error handling/monitoring\u003cbr\u003e\n[Dub](https://dub.sh/) - Sharable links\u003cbr\u003e\n[Trigger.dev](https://trigger.dev/) - Background jobs\u003cbr\u003e\n[OpenPanel](https://openpanel.dev/) - Analytics\u003cbr\u003e\n[Polar](https://polar.sh) - Billing (coming soon)\u003cbr\u003e\n[react-safe-action](https://next-safe-action.dev) - Validated Server Actions\u003cbr\u003e\n[nuqs](https://nuqs.47ng.com/) - Type-safe search params state manager\u003cbr\u003e\n[next-themes](https://next-themes-example.vercel.app/) - Theme manager\u003cbr\u003e\n\n## Directory Structure\n\n```\n.\n├── apps                         # App workspace\n│    ├── api                     # Supabase (API, Auth, Storage, Realtime, Edge Functions)\n│    ├── app                     # App - your product\n│    ├── web                     # Marketing site\n│    └── ...\n├── packages                     # Shared packages between apps\n│    ├── analytics               # OpenPanel analytics\n│    ├── email                   # React email library\n│    ├── jobs                    # Trigger.dev background jobs\n│    ├── kv                      # Upstash rate-limited key-value storage\n│    ├── logger                  # Logger library\n│    ├── supabase                # Supabase - Queries, Mutations, Clients\n│    └── ui                      # Shared UI components (Shadcn)\n├── tooling                      # are the shared configuration that are used by the apps and packages\n│    └── typescript              # Shared TypeScript configuration\n├── .cursorrules                 # Cursor rules specific to this project\n├── biome.json                   # Biome configuration\n├── turbo.json                   # Turbo configuration\n├── LICENSE\n└── README.md\n```\n\n## Prerequisites\n\nBun\u003cbr\u003e\nDocker\u003cbr\u003e\nUpstash\u003cbr\u003e\nDub\u003cbr\u003e\nTrigger.dev\u003cbr\u003e\nResend\u003cbr\u003e\nSupabase\u003cbr\u003e\nSentry\u003cbr\u003e\nOpenPanel\u003cbr\u003e\n\n## Getting Started\n\nClone this repo locally with the following command:\n\n```bash\nbunx degit midday-ai/v1 v1\n```\n\n1. Install dependencies using bun:\n\n```sh\nbun i\n```\n\n2. Copy `.env.example` to `.env` and update the variables.\n\n```sh\n# Copy .env.example to .env for each app\ncp apps/api/.env.example apps/api/.env\ncp apps/app/.env.example apps/app/.env\ncp apps/web/.env.example apps/web/.env\n```\n\n4. Start the development server from either bun or turbo:\n\n```ts\nbun dev // starts everything in development mode (web, app, api, email)\nbun dev:web // starts the web app in development mode\nbun dev:app // starts the app in development mode\nbun dev:api // starts the api in development mode\nbun dev:email // starts the email app in development mode\n\n// Database\nbun migrate // run migrations\nbun seed // run seed\n```\n\n## How to use\nThis boilerplate is inspired by our work on Midday, and it's designed to serve as a reference for real-world apps. Feel free to dive into the code and see how we've tackled various features. Whether you're looking to understand authentication flows, database interactions, or UI components, you'll find practical, battle-tested implementations throughout the codebase. It's not just a starting point; it's a learning resource that can help you build your own applications.\n\nWith this, you have a great starting point for your own project.\n\n## Deploy to Vercel\n\nVercel deployment will guide you through creating a Supabase account and project.\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmidday-ai%2Fv1\u0026env=RESEND_API_KEY,UPSTASH_REDIS_REST_URL,UPSTASH_REDIS_REST_TOKEN,SENTRY_AUTH_TOKEN,NEXT_PUBLIC_SENTRY_DSN,SENTRY_ORG,SENTRY_PROJECT,DUB_API_KEY,NEXT_PUBLIC_OPENPANEL_CLIENT_ID,OPENPANEL_SECRET_KEY\u0026project-name=create-v1\u0026repository-name=create-v1\u0026redirect-url=https%3A%2F%2Fv1.run\u0026demo-title=Create%20v1\u0026demo-description=An%20open-source%20starter%20kit%20based%20on%20Midday.\u0026demo-url=https%3A%2F%2Fv1.run\u0026demo-image=https%3A%2F%2Fv1.run%2Fopengraph-image.png\u0026integration-ids=oac_VqOgBHqhEoFTPzGkPd7L0iH6)\n\n## Recognition\n\n\u003ca href=\"https://news.ycombinator.com/item?id=41408929\"\u003e\n  \u003cimg\n    style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\"\n    alt=\"Featured on Hacker News\"\n    src=\"https://hackernews-badge.vercel.app/api?id=41408929\"\n  /\u003e\n\u003c/a\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmidday-ai%2Fv1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmidday-ai%2Fv1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmidday-ai%2Fv1/lists"}