SuperKit Documentation
A fully configured Next.js starter kit with Supabase and Paddle integration
Features
- Next.js App Router with file-based routing and layouts
- TypeScript config out of the box
- TailwindCSS with dark mode support
- Supabase
- Email/password sign-up & sign-in
- Google authentication
- Session persistence
- Example CRUD with Supabase client
- Paddle Payments
- Hosted checkout integration
- Webhook handling for license management
- Responsive design and mobile-friendly components
- ESLint, Prettier, and Husky pre-commit checks
Prerequisites
Getting Started
1. Clone the repo
git clone https://github.com/zeeshana07x/superkit.git
cd superkit2. Install dependencies
npm install
# or
pnpm install3. Set up environment
Copy .env.example to .env.local and fill in your keys (see Environment Variables section).
4. Run in development
npm run dev
# or
pnpm devEnvironment Variables
Create a .env.local file at the project root:
# Next.js
NEXT_PUBLIC_APP_URL=http://localhost:3000
# Supabase
NEXT_PUBLIC_SUPABASE_URL=https://xyz.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
# Paddle
NEXT_PUBLIC_PADDLE_ENV=sandbox # or production
PADDLE_API_KEY=
PADDLE_NOTIFICATION_WEBHOOK_SECRET=
NEXT_PUBLIC_PADDLE_CLIENT_TOKEN=Authentication Flow
Email/Password Authentication
SuperKit comes with email/password authentication pre-configured through Supabase.
Google Authentication
To enable Google authentication with Supabase:
- Go to your Supabase project dashboard
- Navigate to Authentication → Providers
- Enable Google provider
- Create a Google OAuth application in the Google Cloud Console
- Add your authorized redirect URI from Supabase to your Google OAuth app
- Copy the Client ID and Client Secret from Google to Supabase
- Save your changes
- Update your app to include the Google sign-in button using the Supabase auth helpers
Paddle Integration
SuperKit integrates Paddle for payment processing and subscription management. Key features include:
- Three-tier pricing page that's fully localized for 200+ markets using Paddle.js
- Integrated checkout experience built with Paddle Checkout
- Automatic syncing of customer and subscription data between Paddle and your app using webhooks
- Ready-made screens for customers to manage their payments and subscriptions
For more details on setup, refer to the Paddle documentation.
Contributing
We ❤️ contributions! Whether it's reporting bugs, suggesting new features, improving documentation, or submitting code, your input is welcome.
How to Contribute
- Fork the repository – Click the "Fork" button at the top-right of the SuperKit repo page to create your own copy.
- Clone your fork locally
git clone https://github.com/zeeshana07x/superkit.git cd superkit - Create a new branch
git checkout -b feat/your-feature-nameUse a descriptive branch name, e.g. fix/navbar-scroll or feat/paddle-webhook.
- Make your changes
- Follow the existing code style
- Add or update code as needed
- Update documentation in README.md
- Commit your work
git add . git commit -m "feat: describe your feature or fix" - Push your branch to GitHub
git push origin feat/your-feature-name - Open a Pull Request
- Navigate to your fork on GitHub
- Click "Compare & pull request"
- Fill out the PR template, explaining what you changed and why
Reporting Issues
- Please search existing issues before opening a new one
- Use a clear, descriptive title and include steps to reproduce bugs or screenshots if applicable
Code of Conduct
This project follows the Contributor Covenant Code of Conduct to ensure a welcoming and respectful community for all contributors.