nextjs15-shadcn-boilerplate Tailwind Templates

Nextjs15 Shadcn Boilerplate

Next.js 15 starter with Shadcn UI, Tailwind CSS, and custom components like LoadingButton and DateRangePicker.

🧱 Next.js 15 + Shadcn UI Boilerplate

A modern starter template using Next.js 15 App Router, Shadcn UI, Tailwind CSS, Supabase, and a set of custom reusable components to help you build production-grade web apps faster.


✨ Features

  • βœ… Next.js 15 App Router
  • βœ… Tailwind CSS
  • βœ… Shadcn UI (Radix + Tailwind)
  • βœ… TypeScript
  • βœ… Supabase integration (auth-ready)
  • βœ… Google Maps Places Autocomplete (address form)
  • βœ… Pre-configured ESLint & Prettier
  • βœ… Mobile-first, accessible components
  • βœ… Dark mode ready

πŸš€ Getting Started

git clone https://github.com/muhammadumarfarooq/nextjs15-shadcn-boilerplate.git
cd nextjs15-shadcn-boilerplate
pnpm install     # or npm install / yarn install
pnpm dev         # start the local dev server

βš™οΈ Environment Setup

This project uses Supabase for authentication (and is extendable for database + storage). It also integrates Google Maps for address autocomplete.

To configure your environment:

cp .env.example .env.local

Then update .env.local:

NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your-google-maps-api-key

You can get these values from:

  • Supabase β†’ Project Settings β†’ API
  • Google Cloud Console β†’ Credentials

🧩 Custom Reusable Components

These extend Shadcn base components with consistent styling and utility.

βœ… Included

  • LoadingButton – Button with built-in loading state
  • CircularLoader – Minimal spinner for async content
  • DateRangePicker – Range picker with calendar + popover
  • TextSeparator – Divider with optional label
  • AddressAutoComplete – Full address form with Google Maps Autocomplete, Zod validation, and lat/lng extraction

Each component is fully typed and designed to be reusable.


πŸ” Supabase Support

  • βœ… Auth-Ready – Includes Supabase client setup for login, signup, and session handling
  • βš™οΈ Easily Extendable – Add your own DB queries and storage handlers using supabase.from() and supabase.storage

πŸ“ Folder Structure

.
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ AddressAutoComplete/      # Address form + autocomplete logic
β”‚   └── ui/                       # Reusable UI components
β”œβ”€β”€ lib/                          # Utility functions (e.g., Supabase client)
β”œβ”€β”€ app/                          # Next.js 15 App Router pages/layouts
β”œβ”€β”€ styles/                       # Tailwind and global styles
β”œβ”€β”€ public/                       # Static assets
β”œβ”€β”€ .env.example                  # Environment variable template
└── ...

πŸ“„ License

MIT Β© Muhammad Umar Farooq


🀝 Contributing

Contributions are welcome!
If you'd like to add new components, improve existing ones, or enhance functionality:

  1. Fork the repo
  2. Create a new branch
  3. Open a pull request

Please include clear documentation or usage examples where possible.


⭐️ Support

If you find this boilerplate helpful:

  • ⭐️ Star the repo
  • 🍴 Fork it for your own projects
  • 🧡 Share it with your network

Let’s help other developers build faster together πŸš€

Top categories

Loading Svelte Themes