{"id":14069949,"url":"https://github.com/calcom/platform-starter-kit","last_synced_at":"2025-03-03T06:04:58.513Z","repository":{"id":182154242,"uuid":"656691836","full_name":"calcom/platform-starter-kit","owner":"calcom","description":"Cal.com Platform: Starter Kit","archived":false,"fork":false,"pushed_at":"2024-08-13T08:42:55.000Z","size":1483,"stargazers_count":226,"open_issues_count":11,"forks_count":19,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-02-25T12:52:36.624Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://experts.cal.com","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/calcom.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}},"created_at":"2023-06-21T12:48:58.000Z","updated_at":"2025-02-21T17:58:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"c32dd2dc-821d-4cc4-acb7-eb71c168df6b","html_url":"https://github.com/calcom/platform-starter-kit","commit_stats":null,"previous_names":["calcom/examples","calcom/platform-starter-kit"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calcom%2Fplatform-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calcom%2Fplatform-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calcom%2Fplatform-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/calcom%2Fplatform-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/calcom","download_url":"https://codeload.github.com/calcom/platform-starter-kit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241616675,"owners_count":19991540,"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":[],"created_at":"2024-08-13T07:07:21.765Z","updated_at":"2025-03-03T06:04:58.492Z","avatar_url":"https://github.com/calcom.png","language":"TypeScript","readme":"\u003c!-- PROJECT LOGO --\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/calcom/cal.com\"\u003e\n   \u003cimg src=\"https://github.com/calcom/platform-starter-kit/assets/8019099/6f0a8337-6d18-42de-aa00-44a57764e19b\" alt=\"Logo\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eCal.com Platform Starter Kit\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Build your pixel-perfect booking experience\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://experts.cal.com\"\u003e\u003cstrong\u003eDemo\u003c/strong\u003e\u003c/a\u003e\n    ·\n    \u003ca href=\"https://www.youtube.com/watch?v=wwo07ghiNn4\"\u003e\u003cstrong\u003eVideo Tutorial\u003c/strong\u003e\u003c/a\u003e\n    ·\n    \u003ca href=\"https://cal.com/docs/platform\"\u003e\u003cstrong\u003eDocs\u003c/strong\u003e\u003c/a\u003e\n    ·\n    \u003ca href=\"https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fcalcom%2Fplatform-starter-kit%2Ftree%2Fmain\u0026env=NEXT_PUBLIC_REFRESH_URL,AUTH_SECRET,AUTH_TRUST_HOST,NEXT_PUBLIC_CAL_OAUTH_CLIENT_ID,NEXT_PUBLIC_CAL_API_URL,CAL_SECRET\u0026envDescription=You%20can%20see%20how%20to%20populate%20the%20environment%20variables%20in%20our%20starter%20example%20→\u0026envLink=https%3A%2F%2Fgithub.com%2Fcalcom%2Fplatform-starter-kit%2Ftree%2Fmain%2F.env.example\u0026project-name=cal-platform-starter\u0026repository-name=cal-platform-starter\u0026demo-title=Cal.com%20Experts\u0026demo-description=A%20marketplace%20to%20book%20appointments%20with%20experts\u0026demo-url=https%3A%2F%2Fexperts.cal.com\u0026demo-image=https%3A%2F%2Fgithub.com%2Fcalcom%2Fplatform-starter-kit%2Fassets%2F8019099%2F2e58f8da-a110-4a45-b9a4-dcffb45f9baa\u0026integration-ids=oac_VqOgBHqhEoFTPzGkPd7L0iH6\u0026external-id=https%3A%2F%2Fgithub.com%2Fcalcom%2Fplatform-starter-kit%2Ftree%2Fmain\"\u003e\u003cstrong\u003eDeploy on Vercel\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://go.cal.com/discord\"\u003eDiscord\u003c/a\u003e\n    ·\n    \u003ca href=\"https://cal.com/platform\"\u003eWebsite\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/calcom/cal.com/issues\"\u003eIssues\u003c/a\u003e\n\n  \u003c/p\u003e\n\u003c/p\u003e\n\n# Platform Starter Kit Example\n\nCal.com Platform Starter Kit showcases the new Cal.com Platform API and Cal.com Atoms. It was built using the [T3 Stack](https://create.t3.gg/) with [Supabase](https://supabase.com/) as the Postgres Database and Image Storage host.\n\n## Deploy your own\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fcalcom%2Fplatform-starter-kit%2Ftree%2Fmain\u0026env=NEXT_PUBLIC_REFRESH_URL,AUTH_SECRET,AUTH_TRUST_HOST,NEXT_PUBLIC_CAL_OAUTH_CLIENT_ID,NEXT_PUBLIC_CAL_API_URL,CAL_SECRET\u0026envDescription=You%20can%20see%20how%20to%20populate%20the%20environment%20variables%20in%20our%20starter%20example%20→\u0026envLink=https%3A%2F%2Fgithub.com%2Fcalcom%2Fplatform-starter-kit%2Ftree%2Fmain%2F.env.example\u0026project-name=cal-platform-starter\u0026repository-name=cal-platform-starter\u0026demo-title=Cal.com%20Experts\u0026demo-description=A%20marketplace%20to%20book%20appointments%20with%20experts\u0026demo-url=https%3A%2F%2Fexperts.cal.com\u0026demo-image=https%3A%2F%2Fgithub.com%2Fcalcom%2Fplatform-starter-kit%2Fassets%2F8019099%2F2e58f8da-a110-4a45-b9a4-dcffb45f9baa\u0026integration-ids=oac_VqOgBHqhEoFTPzGkPd7L0iH6\u0026external-id=https%3A%2F%2Fgithub.com%2Fcalcom%2Fplatform-starter-kit%2Ftree%2Fmain)\n\n## How to use\n\n```bash\nnpx @calcom/starter-kit my-platform\n```\n\nOR\n\n**1. Clone the repository**\n\nHTTPS:\n\n```bash\ngit clone https://github.com/calcom/platform-starter-kit.git\n```\n\nGitHub CLI:\n\n```bash\ngh repo clone calcom/platform-starter-kit\n```\n\n**2. Move into the Starter**\n\n```bash\ncd platform-starter-kit/\n```\n\n**3. Install dependencies**\n\n\u003c!-- note(richard): We require pnpm since we have this version deployed; if we separate example source from our deployed version, we free up the package manager choice. --\u003e\n\n\u003e [!IMPORTANT]  \n\u003e **Package Manager:** This repository is deployed as-is and therefore contains a `pnpm-lock.yaml` file. As a result, you currently have to use `pnpm` as your package manager to ensure that the dependencies are installed correctly.\n\n```bash\npnpm install\n```\n\n**4. Set Environment Variables**\n\nWe provide most environment variables out of the box (including Cal-related variables).\n\nSo get started by copying the `.env.example`:\n\n```bash\ncp .env.example .env\n```\n\n_4.1 Database_\n\nThis project uses Postgres with Supabase. You can create a free project at [database.new](https://database.new/).\n\nThen, get the Database URL from the [Supabase dashboard](https://supabase.com/dashboard/project/_/settings/database) and update the respective values in your `.env` file:\n\n```.env\nPOSTGRES_PRISMA_URL=\"postgres://postgres.YOUR-PROJECT-REF:[YOUR-PASSWORD]@aws-0-[REGION].pooler.supabase.com:6543/postgres?pgbouncer=true\u0026connection_limit=1\" # Transaction Mode\nPOSTGRES_URL_NON_POOLING=\"postgres://postgres.YOUR-PROJECT-REF:[YOUR-PASSWORD]@aws-0-[REGION].pooler.supabase.com:5432/postgres\"  # Session Mode\n```\n\nWhen working locally you can use the DB URL: `postgresql://postgres:postgres@127.0.0.1:54322/postgres` outputted by the `supabase start` command for both vairables.\n\n[Only needed when deploying manually] Initialize the database:\n\nNote that if you used the Vercel Deploy link from above, the Supabase Vercel integration sets this up automatically for you!\n\n```bash\npnpm db:init\npnpm db:seed # Will throw an error if DB is already seeded, which you can ignore.\n```\n\nPrisma will create a `_prisma_migrations` table on the `public` database schema. In Supabase, the public schema is exposed via the API by default. To secure the table, navigate to the [Table Editor](https://supabase.com/dashboard/project/_/editor), click on \"RLS diasbaled\" \u003e \"Enable RLS for this table\".\n\nAlternatively, you can run the follow SQL statement on your database, e.g. via the [SQL Editor](https://supabase.com/dashboard/project/_/sql/new) in the Supabase Dashboard:\n\n```sql\nALTER TABLE \"public\".\"_prisma_migrations\" ENABLE ROW LEVEL SECURITY;\n```\n\nLastly, in your [Supabase Dashboard](https://supabase.com/dashboard/project/_/storage/buckets) create a public `avatars` bucket to store the profile pictures.\n\n_4.2 Authentication_\n\nGenerate a NextAuth secret and add it to your `.env` file:\n\n```bash\nopenssl rand -hex 32\n```\n\n```.env\n# Next Auth\n# You can generate a new secret on the command line with\n# openssl rand -base64 32\n# \u003chttps://next-auth.js.org/configuration/options#secret\u003e\n\nAUTH_SECRET=\"SQhGk****\"\n```\n\n_4.3 Cal_\n\nFor **development**, you're all set! We've provided you with our sandbox keys that you can find the `.env.example` file.\n\nFor **production**, keep in mind that you'll have to update the `NEXT_PUBLIC_REFRESH_URL` variable to make it point to your deployment, e.g.:\n\n```.env\n# 3/ *REFRESH URL.* You have to expose an endpoint that will be used from calcom: https://cal.com/docs/platform/quick-start#4.-backend:-setting-up-refresh-token-endpoint\n\nNEXT_PUBLIC_REFRESH_URL=\"https://\u003cyour-project\u003e.vercel.app/api/cal/refresh\"\n```\n\n**5. Development Server**\nFrom here, you're all set. Just start the development server \u0026 get going.\n\n```bash\npnpm dev\n```\n\n## What's next? How do I make an app with this?\n\nWe try to keep this project as simple as possible, so you can start with Cal.com Platform and the scaffolding we set up for you, and add additional things later when they become necessary.\n\nIf you are not familiar with the different technologies used in this project, please refer to the respective docs.\n\n- [Cal.com Platform](https://cal.com/platform)\n- [Next.js](https://nextjs.org)\n- [Supabase](https://supabase.com)\n- [NextAuth.js](https://next-auth.js.org)\n- [Prisma](https://prisma.io)\n- [Tailwind CSS](https://tailwindcss.com)\n- [tRPC](https://trpc.io)\n\n## Learn More about Cal.com Platform\n\nVisit our documentation at [cal.com/docs/platform](https://cal.com/docs/platform) or join our [Discord](https://go.cal.com/discord).\n\nContact sales to purchase a commercial API key here: [cal.com/sales](https://cal.com/sales).\n\n## Learn More about T3\n\nTo learn more about the [T3 Stack](https://create.t3.gg/), take a look at the following resources:\n\n- [Documentation](https://create.t3.gg/)\n- [Learn the T3 Stack](https://create.t3.gg/en/faq#what-learning-resources-are-currently-available) — Check out these awesome tutorials\n\nYou can check out the [create-t3-app GitHub repository](https://github.com/t3-oss/create-t3-app) — your feedback and contributions are welcome!\n\n## Learn More about Supabase\n\nSupabase is the fastest way to get up and running with Next.js and Postgres. Check out [this video](https://youtu.be/WdA6b0jPNv4?si=eeWpu03PI3W-t5pC) to learn more!\n","funding_links":[],"categories":["📦 Legacy \u0026 Inactive Projects","TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalcom%2Fplatform-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalcom%2Fplatform-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalcom%2Fplatform-starter-kit/lists"}