This is an admin dashboard starter template built with Next.js 16, Shadcn UI, and Tailwind CSS.
It gives you a production-ready dashboard UI with authentication, charts, tables, forms, and a feature-based folder structure, perfect for SaaS apps, internal tools, and admin panels.
This template uses the following stack:
- Framework - Next.js 16
- Language - TypeScript
- Auth - Clerk
- Error tracking - Sentry
- Styling - Tailwind CSS v4
- Components - Shadcn-ui
- Schema Validations - Zod
- State Management - Zustand
- Search params state manager - Nuqs
- Tables - Tanstack Data Tables β’ Dice table
- Forms - React Hook Form
- Command+k interface - kbar
- Linting - ESLint
- Pre-commit Hooks - Husky
- Formatting - Prettier
If you are looking for a Tanstack start dashboard template, here is the repo.
-
π§± Pre-built admin dashboard layout (sidebar, header, content area)
-
π Analytics overview page with cards and charts
-
π Data tables with server-side search, filter & pagination
-
π Authentication & user management via Clerk
-
π§© Shadcn UI components with Tailwind CSS styling
-
π§ Feature-based folder structure for scalable projects
-
βοΈ Ready for SaaS dashboards, internal tools, and client admin panels
You can use this Next.js + Shadcn UI dashboard starter to build:
-
SaaS admin dashboards
-
Internal tools & operations panels
-
Analytics dashboards
-
Client project admin panels
-
Boilerplate for new Next.js admin UI projects
| Pages | Specifications |
|---|---|
| Signup / Signin | Authentication with Clerk provides secure authentication and user management with multiple sign-in options including passwordless authentication, social logins, and enterprise SSO - all designed to enhance security while delivering a seamless user experience. |
| Dashboard Overview | Cards with Recharts graphs for analytics. Parallel routes in the overview sections feature independent loading, error handling, and isolated component rendering. |
| Product List (Table) | Tanstack tables with server side searching, filter, pagination by Nuqs which is a Type-safe search params state manager in nextjs |
| Create Product Form | A Product Form with shadcn form (react-hook-form + zod). |
| Profile | Clerk's full-featured account management UI that allows users to manage their profile and security settings |
| Kanban Board | A Drag n Drop task management board with dnd-kit and zustand to persist state locally. |
| Not Found | Not Found Page Added in the root level |
| Global Error | A centralized error page that captures and displays errors across the application. Integrated with Sentry to log errors, provide detailed reports, and enable replay functionality for better debugging. |
src/ βββ app/ # Next.js App Router directory β βββ (auth)/ # Auth route group β β βββ (signin)/ β βββ (dashboard)/ # Dashboard route group β β βββ layout.tsx β β βββ loading.tsx β β βββ page.tsx β βββ api/ # API routes β βββ components/ # Shared components β βββ ui/ # UI components (buttons, inputs, etc.) β βββ layout/ # Layout components (header, sidebar, etc.) β βββ features/ # Feature-based modules β βββ feature/ β β βββ components/ # Feature-specific components β β βββ actions/ # Server actions β β βββ schemas/ # Form validation schemas β β βββ utils/ # Feature-specific utilities β β βββ lib/ # Core utilities and configurations β βββ auth/ # Auth configuration β βββ db/ # Database utilities β βββ utils/ # Shared utilities β βββ hooks/ # Custom hooks β βββ use-debounce.ts β βββ stores/ # Zustand stores β βββ dashboard-store.ts β βββ types/ # TypeScript types βββ index.ts Note
This admin dashboard starter uses Next.js 16 (App Router) with React 19 and Shadcn UI. Follow these steps to run it locally:
Clone the repo:
git clone https://github.com/Kiranism/next-shadcn-dashboard-starter.git bun install- Create a
.env.localfile by copying the example environment file:cp env.example.txt .env.local - Add the required environment variables to the
.env.localfile. bun run dev
To configure the environment for this project, refer to the env.example.txt file. This file contains the necessary environment variables required for authentication and error tracking.
You should now be able to access the application at http://localhost:3000.
Warning
After cloning or forking the repository, be cautious when pulling or syncing with the latest changes, as this may result in breaking conflicts.
Cheers! π₯
