A modern, production-ready Next.js 15 boilerplate with Tailwind 40, Material, and supercool libraries for 2025 development. This boilerplate is designed to save you hours of setup time and provide a solid foundation for any project.
- Next.js 15 - Latest version with App Router
- Material UI v6 - Complete component library with custom black/white theme
- Tailwind CSS v4 - Utility-first CSS framework (configured to work with MUI)
- Poppins Font - Modern, clean typography
- Dark/Light Mode - Seamless theme switching with next-themes
- Framer Motion - Smooth animations and transitions
- Supabase - Complete backend-as-a-service with authentication
- Prisma - Type-safe database ORM with PostgreSQL
- Pre-configured Models - User, Post, and Settings models ready to use
- TypeScript Ready - Easy to convert to TypeScript
- ESLint - Code linting and formatting
- React Hook Form - Performant forms with easy validation
- Zod - Schema validation
- Custom Hooks - Useful hooks like useLocalStorage
- Lucide React - Beautiful, customizable icons
- Material Icons - Google's Material Design icons
- Next Themes - Perfect dark mode implementation
git clone https://github.com/nuk3guy/nukeguy-boilerplate.git
cd nukeguy-boilerplate
npm install
Copy the .env
file and update with your credentials:
cp nukeguy.env .env.local
Update the following variables in .env.local
:
# For PostgreSQL (recommended for production)
DATABASE_URL="postgresql://username:password@localhost:5432/your_db_name?schema=public"
# For local development with SQLite
# DATABASE_URL="file:./dev.db"
Get these from your Supabase Dashboard:
NEXT_PUBLIC_SUPABASE_URL="https://your-project-id.supabase.co"
NEXT_PUBLIC_SUPABASE_ANON_KEY="your-anon-key-here"
SUPABASE_SERVICE_ROLE_KEY="your-service-role-key-here"
# Generate Prisma client
npx prisma generate
# Run database migrations (if using PostgreSQL)
npx prisma db push
# Or for development with SQLite
# npx prisma migrate dev --name init
npm run dev
Open http://localhost:3000 to see your application!
nukeguy-boilerplate/
βββ prisma/
β βββ schema.prisma # Database schema
βββ public/ # Static assets
βββ src/
β βββ app/
β β βββ globals.css # Global styles with Poppins font
β β βββ layout.js # Root layout with theme provider
β β βββ page.js # Landing page
β βββ components/
β β βββ Footer.js # Footer Component
β β βββ Header.js # Header Component
β β βββ ThemeProvider.js # Theme context provider
β β βββ ThemeToggle.js # Dark/light mode toggle
β βββ hooks/
β β βββ useLocalStorage.js # Local storage hook
β βββ lib/
β βββ prisma.js # Prisma client configuration
β βββ supabase.js # Supabase client configuration
β βββ theme.js # Material UI theme configuration
βββ .env # Environment variables template
βββ tailwind.config.js # Tailwind configuration
βββ package.json
The boilerplate uses a custom black and white theme:
- Light Mode: White background with black components
- Dark Mode: Black background with white components
- Font: Poppins (300-900 weights)
Edit src/lib/theme.js
to modify the color scheme:
// Light theme
primary: {
main: '#000000', // Change primary color
// ...
}
// Dark theme
primary: {
main: '#ffffff', // Change primary color
// ...
}
model User {
id String @id @default(cuid())
email String @unique
name String?
avatar String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
posts Post[]
}
model Post {
id String @id @default(cuid())
title String
content String?
published Boolean @default(false)
authorId String
author User @relation(fields: [authorId], references: [id])
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npx prisma studio # Open Prisma Studio (database GUI)
npx prisma generate # Generate Prisma client
npx prisma db push # Push schema changes to database
Package | Version | Purpose |
---|---|---|
Next.js | ^15.0.0 | React framework |
React | ^18.0.0 | UI library |
Material UI | ^6.0.0 | Component library |
Tailwind CSS | ^4.0.0 | Utility CSS |
Supabase | Latest | Backend service |
Prisma | Latest | Database ORM |
Framer Motion | Latest | Animations |
React Hook Form | Latest | Form handling |
Zod | Latest | Schema validation |
Next Themes | Latest | Theme switching |
- Push your code to GitHub
- Connect your repository to Vercel
- Add your environment variables in Vercel dashboard
- Deploy!
This boilerplate works with any platform that supports Next.js:
- Netlify
- Railway
- Heroku
- AWS Amplify
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
- Built with love for the developer community
- Inspired by modern web development best practices
- Special thanks to all the amazing open-source projects used
Happy coding! π
If this boilerplate saved you time, consider giving it a β on GitHub!