A comprehensive Next.js template with modern tools and best practices for rapid development. This template includes everything you need to build production-ready applications with authentication, payments, and beautiful UI components.
- Next.js 15 with App Router and React 19
- TypeScript for type safety and better developer experience
- Tailwind CSS for utility-first styling
- shadcn/ui for beautiful, accessible components
- Supabase integration for authentication and database
- Stripe integration for payments
- ESLint and Prettier for code quality
- Responsive design that works on all devices
- Dark mode support
- Production-ready configuration
- Hero Section with compelling call-to-action
- Features Section showcasing key benefits
- Pricing Section with multiple tiers
- FAQ Section with expandable questions
- Footer with links and social media
- Basic dashboard with metrics cards
- Quick actions for common tasks
- Responsive layout for all screen sizes
- Placeholder content ready for customization
- Sign In/Sign Up pages with form validation
- Responsive design for mobile and desktop
- Reusable UI components built with shadcn/ui
- Well-documented with TypeScript interfaces
- Accessible following WCAG guidelines
- Customizable with Tailwind CSS
- Framework: Next.js 15
- Language: TypeScript
- Styling: Tailwind CSS
- Components: shadcn/ui
- Database: Supabase
- Payments: Stripe
- Icons: Lucide React
- Fonts: Geist Sans & Mono
- Node.js 18+
- npm, yarn, pnpm, or bun
-
Clone the template
git clone https://github.com/rogarmu8/100NextCoding.git cd 100NextCoding -
Set up your own repository
# Remove the original remote origin git remote remove origin # Add your own repository as the new origin git remote add origin https://github.com/YOUR_USERNAME/YOUR_REPO_NAME.git # Push to your repository git push -u origin main
-
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Open
.env.localand fill in your actual values:# Supabase Configuration NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key # Stripe Configuration NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_your_stripe_publishable_key STRIPE_SECRET_KEY=sk_test_your_stripe_secret_key STRIPE_WEBHOOK_SECRET=whsec_your_stripe_webhook_secret STRIPE_PRO_PRICE_ID=price_your_pro_monthly_price_id STRIPE_LIFETIME_PRICE_ID=price_your_lifetime_price_id # Application Configuration NEXT_PUBLIC_SITE_URL=http://localhost:3000 NEXT_PUBLIC_CONTACT_EMAIL=contact@example.com
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
Need help getting your API keys? Check out our detailed setup guides:
- Supabase Setup: Get your project URL and API keys from supabase.com β Settings β API
- Stripe Setup: Get your keys from stripe.com β Developers β API keys
- Database Schema: Run the SQL script in
supabase-schema/supabase-schema.sqlin your Supabase SQL Editor
src/
βββ app/ # Next.js App Router pages
β βββ auth/ # Authentication pages
β β βββ signin/ # Sign in page
β β βββ signup/ # Sign up page
β βββ dashboard/ # Dashboard pages
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Home page
βββ components/ # Reusable components
β βββ layout/ # Layout components
β β βββ navbar.tsx # Navigation bar
β β βββ footer.tsx # Footer
β βββ sections/ # Page sections
β β βββ hero.tsx # Hero section
β β βββ features.tsx # Features section
β β βββ pricing.tsx # Pricing section
β β βββ faq.tsx # FAQ section
β βββ ui/ # shadcn/ui components
βββ lib/ # Utility functions
β βββ utils.ts # Common utilities
βββ types/ # TypeScript type definitions
The template uses CSS variables for theming. You can customize colors in src/app/globals.css:
All components are built with shadcn/ui and can be customized by:
- Modifying the component files in
src/components/ui/ - Using Tailwind CSS classes
- Adding custom CSS variables
- Create a new folder in
src/app/ - Add a
page.tsxfile - Import and use existing components
-
Create a Supabase project
- Go to supabase.com and create a new project
- Wait for the project to be ready (usually takes 1-2 minutes)
-
Get your API keys
- Go to Settings β API in your Supabase dashboard
- Copy the "Project URL" and "anon public" key
- Copy the "service_role" key (keep this secret!)
-
Set up your database
- Go to the SQL Editor in your Supabase dashboard
- Copy and paste the contents of
supabase-schema/supabase-schema.sql - Click "Run" to create the necessary tables and functions
-
Update your environment variables
- Add your Supabase keys to
.env.local
- Add your Supabase keys to
-
Create a Stripe account
- Go to stripe.com and create an account
- Complete the account setup process
-
Get your API keys
- Go to Developers β API keys in your Stripe dashboard
- Copy the "Publishable key" and "Secret key"
- Make sure you're using test keys (they start with
pk_test_andsk_test_)
-
Create products and prices
- Go to Products in your Stripe dashboard
- Create a "Pro Plan" product with $12/month recurring price
- Create a "Lifetime Plan" product with $99 one-time price
- Copy the Price IDs (they start with
price_)
-
Set up webhooks
- Go to Developers β Webhooks
- Add endpoint:
https://yourdomain.com/api/stripe/webhook - Select events:
checkout.session.completed,customer.subscription.*,invoice.payment_* - Copy the webhook secret (starts with
whsec_)
-
Update your environment variables
- Add your Stripe keys and Price IDs to
.env.local
- Add your Stripe keys and Price IDs to
"Module not found" errors
- Make sure you ran
npm installafter cloning - Delete
node_modulesandpackage-lock.json, then runnpm installagain
Environment variables not working
- Make sure your
.env.localfile is in the root directory (same level aspackage.json) - Restart your development server after changing environment variables
- Check that variable names match exactly (case-sensitive)
Supabase connection issues
- Verify your project URL and API keys are correct
- Make sure your Supabase project is not paused
- Check that you've run the database schema script
Stripe payment issues
- Ensure you're using the correct keys for your environment (test or production)
- Verify your Price IDs are correct and active
- Check that your webhook endpoint is properly configured
Build errors
- Run
npm run buildto check for TypeScript errors - Make sure all environment variables are set in production
- Check the console for specific error messages
- Next.js Documentation
- shadcn/ui Documentation
- Supabase Documentation
- Stripe Documentation
- Tailwind CSS Documentation
- Push your code to GitHub
- Connect your repository to Vercel
- Add environment variables
- Deploy!
The template works with any platform that supports Next.js:
- Netlify
- Railway
- DigitalOcean App Platform
- AWS Amplify
- Create an issue for bugs or feature requests
- Check the documentation for common questions
- Join our 100 Vibe Coding community for discussions
- Next.js for the amazing framework
- shadcn/ui for the beautiful components
- Supabase for the backend services
- Stripe for payment processing
- Tailwind CSS for the utility-first CSS framework
Happy coding! π