{"id":15089652,"url":"https://github.com/CyberCowboy404/nuxtgain","last_synced_at":"2025-09-26T09:31:42.868Z","repository":{"id":257797998,"uuid":"856363890","full_name":"CyberCowboy404/nuxtgain","owner":"CyberCowboy404","description":"Nuxt3 + Supabase; Production ready SaaS boilerplate","archived":false,"fork":false,"pushed_at":"2025-06-20T07:45:48.000Z","size":1899,"stargazers_count":91,"open_issues_count":0,"forks_count":12,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-20T08:38:40.292Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Vue","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/CyberCowboy404.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","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":"2024-09-12T13:07:19.000Z","updated_at":"2025-06-20T07:45:51.000Z","dependencies_parsed_at":"2025-01-17T02:42:30.495Z","dependency_job_id":null,"html_url":"https://github.com/CyberCowboy404/nuxtgain","commit_stats":null,"previous_names":["cybercowboy404/nuxtgain"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CyberCowboy404/nuxtgain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberCowboy404%2Fnuxtgain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberCowboy404%2Fnuxtgain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberCowboy404%2Fnuxtgain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberCowboy404%2Fnuxtgain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CyberCowboy404","download_url":"https://codeload.github.com/CyberCowboy404/nuxtgain/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CyberCowboy404%2Fnuxtgain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277055917,"owners_count":25752924,"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-26T02:00:09.010Z","response_time":78,"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":"2024-09-25T09:01:07.400Z","updated_at":"2025-09-26T09:31:42.481Z","avatar_url":"https://github.com/CyberCowboy404.png","language":"Vue","funding_links":["https://buymeacoffee.com/cybercowboy404"],"categories":["Vue","Starter Kits"],"sub_categories":[],"readme":"[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![GitHub stars](https://img.shields.io/github/stars/CyberCowboy404/nuxtgain.svg)](https://github.com/CyberCowboy404/nuxtgain/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/CyberCowboy404/nuxtgain.svg)](https://github.com/CyberCowboy404/nuxtgain/network)\n[![GitHub issues](https://img.shields.io/github/issues/CyberCowboy404/nuxtgain.svg)](https://github.com/CyberCowboy404/nuxtgain/issues)\n\n# NuxtGain: Production-Ready SaaS Boilerplate for Nuxt + Supabase\n\n## A Developer's Solution to Common Nuxt Challenges\n\nBuilding complex applications with Nuxt can be challenging, especially when it comes to SaaS projects. How do you handle state management, organize business logic, deal with environment variables, navigate Nuxt context in composables, and follow best practices? NuxtGain aims to simplify this process, offering a solid foundation based on real-world experience.\n\nNuxtGain isn't just a concept. It's the core of [magic-resume.ai](https://magic-resume.ai), an AI-powered resume builder for developers that's currently generating revenue in production. I'm now opening up this tried and tested setup to the community.\n\n### Why Choose NuxtGain?\n\n- **Production-Tested**: Actively powers a profitable SaaS application.\n- **Comprehensive SaaS Setup**: Includes common SaaS features and integrations.\n- **Accelerate Development**: Reduces setup time for new Nuxt projects.\n- **Supabase Integration**: Built with Supabase as the primary database solution.\n- **Open Source**: Free for the community to use and improve.\n\nNuxt may have a smaller ecosystem, compared to the NextJS, but it's powerful. NuxtGain is here to streamline your development process and prove that we can build robust applications. Got ideas to make it better? Jump in and contribute.\n\nLet's make Nuxt gain again!\n\nReady to start building? Dive into the details below and [join our discord](https://discord.gg/EyRuX26ahN)\n\n## Key Features\n\n### Core Technologies 🚀\n- 🔧 Nuxt3 + Supabase integration\n- 📘 Fully TypeScript-based\n- 🎨 Tailwind CSS + Nuxt UI for styling\n- 🔜 Nuxt4 compatible\n\n### Development and Configuration ⚙️\n- 🏭 Production-ready Nuxt configurations\n- 🧹 ESLint configuration with Vue and Nuxt best practices\n- 🧠 Business logic and state management setup\n- 🧩 Configured and installed essential popular Nuxt modules\n\n### Authentication and User Management 🔐\n- 🔑 Supabase authentication integration\n- 🚪 Easy-to-use authentication component\n- 📊 Basic database tables for user handling\n\n### Internationalization and SEO 🌍\n- 🗣️ i18n configuration for translations\n- 🔍 SEO-ready setup\n\n### Payment and Transactions 💳\n- 💰 Stripe payment integration\n- 📝 Basic payment tables (one-time payments, subscriptions in progress)\n- 📧 Transactional emails with Brevo (free up to 300 emails per day)\n\n### Content Management 📚\n- 📝 Ready-to-use blog functionality\n\n### UI Components 🎛️\n- 🧱 Numerous components for landing pages, payment forms, and modals\n- 📮 Feedback forms\n\n### File Handling 📁\n- 🖼️ Image upload functionality\n\n### Deployment and DevOps 🚀\n- ☸️ Kubernetes deployment configurations\n- 🔄 GitHub Actions for container deployment to Kubernetes cluster\n- ▲ Vercel deployment configurations\n- ⚡ Vercel Edge deployment configurations\n\n### Analytics and Monitoring 📊\n- 📈 Analytics-ready setup (PostHog, GA4)\n\n### API and Server-side Features 🖥️\n- 🔌 Server endpoints for data handling and application logic\n- ⏰ Cron job routes for scheduled tasks (e.g., discount emails, transactional emails)\n\n### Additional SaaS Features 🛠️\n- 📄 Basic SaaS page templates\n\n## NuxtGain Quick Start Guide\n\n## 1. Set Up Supabase\n\n1. Initialize Supabase locally:\n```\nnpm run supabase:start\n```\nThis command runs migrations, setting up basic tables, Row Level Security (RLS), indexes, triggers, and functions.\n\n2. Copy the environment variables:\n```\ncp .env.example .env\n```\n\n3. Update the `.env` file with your Supabase keys:\n- `NUXT_PUBLIC_SUPABASE_KEY`\n- `NUXT_SUPABASE_SERVICE_KEY`\n\nThese keys are essential for core SaaS functionalities.\n\n## 2. Configure Authentication\n\n1. Edit `./supabase/config.toml` to set up authentication providers.\n\nExample configuration for Google OAuth:\n\n```toml\n[auth.external.google]\nenabled = true\nclient_id = \"your_client_id\"\nsecret = \"your_secret\"\nredirect_uri = \"http://localhost:54321/auth/v1/callback\"\n```\n\n**Note:** Never commit OAuth provider secrets to git. Use environment variables for sensitive information.\n\n1. For more details on configuring auth providers, refer to the [Supabase Local Development Guide](https://supabase.com/docs/guides/cli/local-development?queryGroups=access-method\u0026access-method=postgres#use-auth-locally).\n\n## 3. Final Configuration\n\n1. Review and update all other environment variables in the `.env` file to enable full functionality of your app.\n\n## 4. Launch Your App\n\nRun the development server:\n```\nnpm run dev\n```\n\nYour NuxtGain app should now be up and running with authentication and user management enabled.\n\nFor additional configuration options and advanced features, please refer to our detailed documentation.\n\n# NuxtGain Documentation\n\n## Table of Contents\n- [Business Logic Organization](docs/business-logic-organization.md)\n- [Contributing](docs/CONTRIBUTING.md)\n\nWe're continuously improving our documentation. If you have any questions or suggestions, please [open an issue](https://github.com/https://github.com/CyberCowboy404/nuxtgain/issues) on GitHub repository, or write it in [discord](https://discord.gg/EyRuX26ahN)\n\n# Community and Support\n\nAs the creator of NuxtGain, I'm here to help and discuss ideas. Reach out to me through:\n\n- [Discord](https://discord.gg/EyRuX26ahN)\n- [X (Twitter)](https://x.com/CyberCowboy404)\n- [LinkedIn](https://www.linkedin.com/in/nick-b-92589418b/)\n\nFor issues or feature requests, please use [GitHub Issues](https://github.com/your-repo/issues).\n\nLet's build something great together!\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\nNuxtGain is a battle-tested SaaS boilerplate for Nuxt3...\n\n## Get Involved\n\nReady to supercharge your Nuxt3 development? Here's how you can get started with NuxtGain:\n\n1. 🚀 **Try It Out**: Clone the repo and start building your next SaaS project.\n   ```\n   git clone https://github.com/CyberCowboy404/nuxtgain.git\n   ```\n\n2. ⭐ **Show Your Support**: If NuxtGain helps you, consider giving it a star on GitHub.\n\n3. 🐛 **Report Issues**: Encountered a bug? [Open an issue](https://github.com/CyberCowboy404/nuxtgain/issues) and help improve NuxtGain.\n\n4. 🤝 **Contribute**: Got ideas or fixes? [Submit a pull request](https://github.com/CyberCowboy404/nuxtgain/pulls) and be part of NuxtGain's growth.\n\n5. 💬 **Spread the Word**: Share NuxtGain with your network and help the community grow.\n\n6. ☕ **Buy Me a Coffee**: If you find NuxtGain valuable, consider [buying me a coffee](https://buymeacoffee.com/cybercowboy404) to support ongoing development.\n\n7. 📄 **Use Magic Resume**: Need a stellar developer resume? Check out [Magic Resume](https://magic-resume.ai), the AI-powered resume builder that NuxtGain powers!\n\nJoin us in making Nuxt3 development faster, easier, and more enjoyable!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCyberCowboy404%2Fnuxtgain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCyberCowboy404%2Fnuxtgain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCyberCowboy404%2Fnuxtgain/lists"}