Skip to content

The Ulimate Nextjs Starter Kit. Build your next SAAS product of your dreams. Batteries included.

License

Notifications You must be signed in to change notification settings

michaelshimeles/nextjs-starter-kit

Repository files navigation

Next.js 15 Starter Kit

A modern, feature-rich starter template for building production-ready applications with Next.js 15, Tailwind CSS, and TypeScript.

Next Starter Kit

Features

Core Technologies

  • โšก Next.js 15 - The latest version with App Router
  • ๐ŸŽจ Tailwind CSS - Utility-first CSS framework
  • ๐Ÿ“˜ TypeScript - Type-safe code
  • ๐Ÿ”’ Authentication - Clerk integration with persistent authorization toggle
  • ๐ŸŽญ Shadcn/ui - Beautiful and accessible components
  • ๐Ÿ’พ Convex DB - Real-time database with built-in file storage and serverless functions
  • ๐Ÿ’ณ Polar.sh - Open-source solution for managing subscriptions and payments

Performance Optimizations

  • ๐Ÿš€ Route Prefetching - Instant page transitions for dashboard, playground, and auth pages
  • ๐Ÿ–ผ๏ธ Optimized Images - Eager loading for critical images
  • ๐ŸŒ“ Dark/Light Mode - System-aware theme switching with custom gradients
  • ๐Ÿ“ฑ Responsive Design - Mobile-first approach
  • ๐Ÿ”„ Real-time Updates - Powered by Convex DB's real-time capabilities

Developer Experience

  • ๐Ÿงฉ Component Library - Pre-built, customizable components
  • ๐ŸŽฎ AI Playground - Built-in AI chat interface
  • ๐Ÿ“Š Dashboard Template - Ready-to-use admin interface with subscription management
  • ๐Ÿ” SEO Optimized - Meta tags and sitemap generation

Convex DB Integration

To set up your Convex database, visit: https://convex.link/rasmicstarter

Quick Start

  1. Clone the repository:
git clone https://github.com/michaelshimeles/nextjs14-starter-template.git
  1. Install dependencies:
bun install
  1. Set up environment variables:
cp .env.example .env.local
  1. Configure your environment variables:
# Authentication (Clerk)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/

# Convex
NEXT_PUBLIC_CONVEX_URL=
CONVEX_DEPLOYMENT=
CONVEX_ADMIN_KEY=

# Polar.sh
POLAR_WEBHOOK_SECRET=

# Frontend
NEXT_PUBLIC_BASE_URL=http://localhost:3000

# Optional: AI Integration
OPENAI_API_KEY=
  1. Run the development server:
bun run dev

Open http://localhost:3000 to see your application.

Project Structure

โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ (auth)/         # Authentication routes
โ”‚   โ”œโ”€โ”€ (marketing)/    # Marketing pages
โ”‚   โ”œโ”€โ”€ api/           # API routes
โ”‚   โ”œโ”€โ”€ dashboard/     # Dashboard pages
โ”‚   โ””โ”€โ”€ playground/    # AI Playground
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ homepage/     # Landing page components
โ”‚   โ”œโ”€โ”€ shared/       # Shared UI components
โ”‚   โ””โ”€โ”€ wrapper/      # Layout wrappers and navigation
โ”œโ”€โ”€ config/           # Configuration files
โ”œโ”€โ”€ convex/          # Convex DB schema and functions
โ”œโ”€โ”€ lib/             # Utility functions
โ”œโ”€โ”€ public/          # Static assets
โ”‚   โ”œโ”€โ”€ images/      # Image assets
โ”‚   โ””โ”€โ”€ svg/         # SVG assets
โ””โ”€โ”€ styles/          # Global styles

Available Scripts

  • bun run dev - Start development server
  • bun run build - Build for production
  • bun run start - Start production server
  • bun run lint - Run ESLint
  • bun run format - Format code with Prettier

Sponsors and Supporters

Special thanks to Convex for their sponsorship and support in making this starter kit possible. Their real-time database and file storage solutions have been instrumental in creating a powerful foundation for modern web applications.

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you find this template helpful, please give it a โญ๏ธ on GitHub!