Building 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.
NuxtGain isn't just a concept. It's the core of 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.
- Production-Tested: Actively powers a profitable SaaS application.
- Comprehensive SaaS Setup: Includes common SaaS features and integrations.
- Accelerate Development: Reduces setup time for new Nuxt projects.
- Supabase Integration: Built with Supabase as the primary database solution.
- Open Source: Free for the community to use and improve.
Nuxt 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.
Let's make Nuxt gain again!
Ready to start building? Dive into the details below and join our discord
- ๐ง Nuxt3 + Supabase integration
- ๐ Fully TypeScript-based
- ๐จ Tailwind CSS + Nuxt UI for styling
- ๐ Nuxt4 compatible
- ๐ญ Production-ready Nuxt configurations
- ๐งน ESLint configuration with Vue and Nuxt best practices
- ๐ง Business logic and state management setup
- ๐งฉ Configured and installed essential popular Nuxt modules
- ๐ Supabase authentication integration
- ๐ช Easy-to-use authentication component
- ๐ Basic database tables for user handling
- ๐ฃ๏ธ i18n configuration for translations
- ๐ SEO-ready setup
- ๐ฐ Stripe payment integration
- ๐ Basic payment tables (one-time payments, subscriptions in progress)
- ๐ง Transactional emails with Brevo (free up to 300 emails per day)
- ๐ Ready-to-use blog functionality
- ๐งฑ Numerous components for landing pages, payment forms, and modals
- ๐ฎ Feedback forms
- ๐ผ๏ธ Image upload functionality
- โธ๏ธ Kubernetes deployment configurations
- ๐ GitHub Actions for container deployment to Kubernetes cluster
- โฒ Vercel deployment configurations
- โก Vercel Edge deployment configurations
- ๐ Analytics-ready setup (PostHog, GA4)
- ๐ Server endpoints for data handling and application logic
- โฐ Cron job routes for scheduled tasks (e.g., discount emails, transactional emails)
- ๐ Basic SaaS page templates
- Initialize Supabase locally:
npm run supabase:start
This command runs migrations, setting up basic tables, Row Level Security (RLS), indexes, triggers, and functions.
- Copy the environment variables:
cp .env.example .env
- Update the
.env
file with your Supabase keys:
NUXT_PUBLIC_SUPABASE_KEY
NUXT_SUPABASE_SERVICE_KEY
These keys are essential for core SaaS functionalities.
- Edit
./supabase/config.toml
to set up authentication providers.
Example configuration for Google OAuth:
[auth.external.google]
enabled = true
client_id = "your_client_id"
secret = "your_secret"
redirect_uri = "http://localhost:54321/auth/v1/callback"
Note: Never commit OAuth provider secrets to git. Use environment variables for sensitive information.
- For more details on configuring auth providers, refer to the Supabase Local Development Guide.
- Review and update all other environment variables in the
.env
file to enable full functionality of your app.
Run the development server:
npm run dev
Your NuxtGain app should now be up and running with authentication and user management enabled.
For additional configuration options and advanced features, please refer to our detailed documentation.
We're continuously improving our documentation. If you have any questions or suggestions, please open an issue on GitHub repository, or write it in discord
As the creator of NuxtGain, I'm here to help and discuss ideas. Reach out to me through:
For issues or feature requests, please use GitHub Issues.
Let's build something great together!
This project is licensed under the MIT License - see the LICENSE file for details.
NuxtGain is a battle-tested SaaS boilerplate for Nuxt3...
Ready to supercharge your Nuxt3 development? Here's how you can get started with NuxtGain:
-
๐ Try It Out: Clone the repo and start building your next SaaS project.
git clone https://github.com/CyberCowboy404/nuxtgain.git
-
โญ Show Your Support: If NuxtGain helps you, consider giving it a star on GitHub.
-
๐ Report Issues: Encountered a bug? Open an issue and help improve NuxtGain.
-
๐ค Contribute: Got ideas or fixes? Submit a pull request and be part of NuxtGain's growth.
-
๐ฌ Spread the Word: Share NuxtGain with your network and help the community grow.
-
โ Buy Me a Coffee: If you find NuxtGain valuable, consider buying me a coffee to support ongoing development.
-
๐ Use Magic Resume: Need a stellar developer resume? Check out Magic Resume, the AI-powered resume builder that NuxtGain powers!
Join us in making Nuxt3 development faster, easier, and more enjoyable!