A modern, feature-rich starter template for building production-ready applications with Next.js 15, Tailwind CSS, and TypeScript.
- โก 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
- ๐ 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
- ๐งฉ 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
To set up your Convex database, visit: https://convex.link/rasmicstarter
- Clone the repository:
git clone https://github.com/michaelshimeles/nextjs14-starter-template.git
- Install dependencies:
bun install
- Set up environment variables:
cp .env.example .env.local
- 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=
- Run the development server:
bun run dev
Open http://localhost:3000 to see your application.
โโโ 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
bun run dev
- Start development serverbun run build
- Build for productionbun run start
- Start production serverbun run lint
- Run ESLintbun run format
- Format code with Prettier
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this template helpful, please give it a โญ๏ธ on GitHub!