{"id":14070128,"url":"https://github.com/devtodollars/mvp-boilerplate","last_synced_at":"2025-05-15T06:05:08.418Z","repository":{"id":223405100,"uuid":"760228505","full_name":"devtodollars/mvp-boilerplate","owner":"devtodollars","description":"A mobile and/or web boilerplate that covers all your MVP needs","archived":false,"fork":false,"pushed_at":"2025-01-25T19:27:25.000Z","size":10728,"stargazers_count":856,"open_issues_count":19,"forks_count":105,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-04-14T10:42:34.406Z","etag":null,"topics":["boilerplate","flutter","flutter-beginners","flutter-boilerplate","flutter-starter","flutter-template","gorouter","nextjs","nextjs-starter","nextjs-template","riverpod","shadcn","shadcn-ui","stripe","supabase"],"latest_commit_sha":null,"homepage":"https://devtodollars.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/devtodollars.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2024-02-20T02:50:13.000Z","updated_at":"2025-04-13T11:38:13.000Z","dependencies_parsed_at":"2024-03-14T17:09:09.665Z","dependency_job_id":"c26c7c38-b5fa-4a50-8eba-36f7217a960c","html_url":"https://github.com/devtodollars/mvp-boilerplate","commit_stats":null,"previous_names":["matthewwong525/supabase-flutter-startup-template","devtodollar/supabase-flutter-template","devtodollars/supabase-flutter-template","devtodollars/flutter-supabase-production-template","devtodollars/flutter-production-template","devtodollars/mvp-boilerplate"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devtodollars%2Fmvp-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devtodollars%2Fmvp-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devtodollars%2Fmvp-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devtodollars%2Fmvp-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devtodollars","download_url":"https://codeload.github.com/devtodollars/mvp-boilerplate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254283339,"owners_count":22045140,"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":["boilerplate","flutter","flutter-beginners","flutter-boilerplate","flutter-starter","flutter-template","gorouter","nextjs","nextjs-starter","nextjs-template","riverpod","shadcn","shadcn-ui","stripe","supabase"],"created_at":"2024-08-13T07:07:29.869Z","updated_at":"2025-05-15T06:05:08.396Z","avatar_url":"https://github.com/devtodollars.png","language":"TypeScript","funding_links":[],"categories":["Boilerplates \u0026 Starters","boilerplate","TypeScript"],"sub_categories":[],"readme":"# Production MVP Boilerplate\n\n## 👉 [See documentation to get started](https://resources.devtodollars.com/docs) 👈\n- [Flutter Demo](https://flutter.devtodollars.com)\n- [NextJS Demo](https://nextjs.devtodollars.com)\n- Building a startup? [Join the tech founder community](https://discord.gg/6q63Xa6SEB)\n\n## What's Included:\n\n### Mobile / Desktop / Web App ([Flutter](./flutter/README.md))\n\n- State Management ([riverpod](https://pub.dev/packages/riverpod))\n- Routing ([go_router](https://pub.dev/packages/go_router))\n- Payments with Stripe\n- Authentication with Supabase\n- 🚧 [Frontend Tests](https://github.com/devtodollars/flutter-supabase-production-template/issues/4) 🚧\n- 🚧 [Adjustable Theme](https://github.com/devtodollars/startup-boilerplate/issues/40) 🚧\n\n### Landing Page / Web App ([NextJS](./nextjs/README.md))\n\n- App Router\n- Typescript\n- Payments with Stripe\n- Authentication with Supabase\n- 🚧 [Landing Page Template](https://github.com/devtodollars/startup-boilerplate/issues/54) 🚧\n\n### Backend ([Supabase](./supabase/README.md))\n\n-  Authentication\n  - Email + PW\n  - SSO (Google, Github, etc.)\n- Fully configured for local development from day one\n- 🚧 [backend tests](https://github.com/devtodollars/flutter-supabase-production-template/issues/16) 🚧\n- Test\n### Analytics ([Posthog](https://posthog.com/))\n\n- Unified analytics across frontend and backend based on `user_id`\n  - Frontend analytics comes pre-installed for iOS, Android, Web, and MacOS\n  - Backend analytics installed and linked to frontend analytics\n- Basic events captured:\n  - `user signs in`\n  - `user signs up`\n  - `user deletes account`\n  - `user starts checkout`\n  - `user opens billing portal`\n  - `user completes checkout`\n\n### Payments ([Stripe](https://stripe.com/en-ca))\n\n- Stripe fully setup and works with one-time payments and subscriptions\n  - `stripe` table to store `stripe_customer_id` and current `active_products`\n  - Stripe webhook to sync user subscriptions from stripe to supabase\n  - Deno function to retrieve the billing portal url or a checkout session url which works with the `payments_screen`\n\n### Release ([Github Actions](https://github.com/features/actions))\n\n- Script to `bumpversion.sh` following semantic versioning\n- Deploys a web preview on Netlify for every PR\n- Publishing pipeline to publish to Netlify and to publish supabase functions\n- 🚧 [Automated Mobile Publishing](https://github.com/devtodollars/flutter-supabase-production-template/issues/22) 🚧\n\n### Emails ([Postmark](https://postmarkapp.com/))\n\n- Send transactional emails\n- DNS setup to avoid spam folder (DKIM, DMARC, SPF in subdomain)\n- Simplify email updates by using postmark templates\n\n### 🚧 [Error Monitoring](https://github.com/devtodollars/flutter-supabase-production-template/issues/18) ([Sentry](https://sentry.io/welcome/)) 🚧\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevtodollars%2Fmvp-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevtodollars%2Fmvp-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevtodollars%2Fmvp-boilerplate/lists"}