{"id":23910542,"url":"https://github.com/diedemiguel/turborepo-next-basic","last_synced_at":"2026-04-20T13:32:56.544Z","repository":{"id":268385290,"uuid":"901851605","full_name":"dieDeMiguel/turborepo-next-basic","owner":"dieDeMiguel","description":"Operation app url: https://operations-app.vercel.app/","archived":false,"fork":false,"pushed_at":"2024-12-25T19:07:33.000Z","size":3280,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T17:13:43.756Z","etag":null,"topics":["clerk","monorepo","nextjs15","sanity","shadcn-ui","turborepo","vercel"],"latest_commit_sha":null,"homepage":"https://shopr-sanity.vercel.app/","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/dieDeMiguel.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}},"created_at":"2024-12-11T12:41:34.000Z","updated_at":"2024-12-22T18:05:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"9ac82277-d84f-49a9-8f1a-9ad406969b4f","html_url":"https://github.com/dieDeMiguel/turborepo-next-basic","commit_stats":null,"previous_names":["diedemiguel/turborepo-next-basic"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dieDeMiguel%2Fturborepo-next-basic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dieDeMiguel%2Fturborepo-next-basic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dieDeMiguel%2Fturborepo-next-basic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dieDeMiguel%2Fturborepo-next-basic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dieDeMiguel","download_url":"https://codeload.github.com/dieDeMiguel/turborepo-next-basic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240347979,"owners_count":19787237,"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":["clerk","monorepo","nextjs15","sanity","shadcn-ui","turborepo","vercel"],"created_at":"2025-01-05T07:17:13.885Z","updated_at":"2026-04-20T13:32:56.535Z","avatar_url":"https://github.com/dieDeMiguel.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Shopr E-Commerce + Operations App Monorepo\n\nThis monorepo contains the **Shopr E-Commerce App** and **Operations App**, powered by **Turborepo**. These apps leverage modern web technologies such as **Next.js**, **Sanity**, **Stripe**, **Clerk**, and more, ensuring a seamless development and production experience.\n\n### Apps and Packages\n\n- **sanity-e-commerce**: The main e-commerce application using **Sanity CMS**, **Stripe** for payments, and **Clerk** for authentication.\n- **operations-app**: A supporting app for monitoring operations, fetching data via **Sanity**, and providing backend insights.\n- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications\n- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)\n- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo\n\nEach package/app is 100% [TypeScript](https://www.typescriptlang.org/).\n\n### Utilities\n\nThis Turborepo has some additional tools already setup for you:\n\n- [TypeScript](https://www.typescriptlang.org/) for static type checking\n- [ESLint](https://eslint.org/) for code linting\n- [Prettier](https://prettier.io) for code formatting\n\n## Installation\n\nClone the Repository\n\n```\ngit clone https://github.com/your-repo-name/monorepo.git\n```\n\nInstall Dependencies\n\nWe use pnpm for managing dependencies:\n\n```\npnpm install\n```\n\nSetup Environment Variables Copy the example environment variables:\n\n```\ncp apps/sanity-e-commerce/.env.example apps/sanity-e-commerce/.env.local\ncp apps/operations-app/.env.example apps/operations-app/.env.local\n```\n\nFill in the required environment variables in the .env.local files for each app.\n\nAccounts Needed:\n\n- **Sanity Account**: For CMS data.\\[(https://www.sanity.io/login)\\]\n- **Stripe Account**: For payment processing.\\[(https://dashboard.stripe.com/login?redirect=/test/dashboard)\\]\n- **Clerk Account**: For user authentication.\\[(https://clerk.com/)\\]\n- **Email Provider-**: For nodemailer. Guide for Gmail Integration: (\\[https://stackoverflow.com/questions/60701936/error-invalid-login-application-specific-password-required)\\]\n\nYou'll need the Stripe CLI \\[(https://docs.stripe.com/stripe-cli)\\]\n\n### Develop\n\nTo develop all apps and packages, run the following command:\n\n```\ncd my-turborepo\npnpm dev\n```\n\n##Run the Development Server\n\nFor sanity-e-commerce:\n\n```\npnpm dev --filter sanity-e-commerce\n```\n\nFor operations-app:\n\n```\npnpm dev --filter operations-app\n```\n\nTo run both apps simultaneously:\n\n```\npnpm dev \n```\n\nListen to stripe events Login into stripe using its CLI\n\n```\nstripe listen --forward-to localhost:XXXX/store/webhook\n```\n\nTo access Sanity Studio\n\n```\nlocalhost:XXXX/studio\n```\n\nYou can create products using the images inside the \"Product Images\" folder on the Sanity-e-commerce repo.\n\n### Build\n\nTo build all apps and packages, run the following command:\n\n```\ncd my-turborepo\npnpm build\n```\n\n### Remote Caching\n\nTurborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.\n\nBy default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:\n\n```\ncd my-turborepo\nnpx turbo login\n```\n\nThis will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).\n\n#### Sanity E-Commerce\n\n- **Product Management**: Manage product data via **Sanity CMS**.\n- **Feature Flags**: Integrated with **Vercel Toolbar** for real-time toggling of flags during experiments.\n- **Stripe Integration**: Secure and flexible payment gateway.\n- **Clerk Integration**: Authentication system for users.\n- **Nodemailer Support**: Email functionality for notifications.\n- **Dynamic Feature Flags**: Server-side experimentation with no layout jank.\n\n#### Operations App\n\n- **Sanity Insights**: View and manage operational data via **Sanity**.\n- **Shared Environment**: Leverages shared configurations and packages for consistency.\n\nLicense This project is licensed under the MIT License. Sanity-e-commerce project copyright belongs to: https://www.papareact.com","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiedemiguel%2Fturborepo-next-basic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiedemiguel%2Fturborepo-next-basic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiedemiguel%2Fturborepo-next-basic/lists"}