Next.js Admin Dashboard Starter Template With Shadcn-ui
Built with the Next.js 15 App Router
This is a starter template using the following stack:
- Framework - Next.js 15
- Language - TypeScript
- Styling - Tailwind CSS v4
- Components - Shadcn-ui
- Schema Validations - Zod
- State Management - Zustand
- Search params state manager - Nuqs
- Auth - Next-Auth
- Tables - Tanstack Data Tables โข Dice UI
- Forms - React Hook Form
- Command+k interface - kbar
- Linting - ESLint
- Pre-commit Hooks - Husky
- Formatting - Prettier
If you are looking for a React admin dashboard starter, here is the repo.
| Pages | Specifications |
|---|---|
| Signin | Authentication with Next-Auth provides secure authentication |
| Dashboard (Overview) | Cards with recharts graphs for analytics.Parallel routes in the overview sections with independent loading, error handling, and isolated component rendering . |
| Product | Tanstack tables with server side searching, filter, pagination by Nuqs which is a Type-safe search params state manager in nextjs |
| Product/new | A Product Form with shadcn form (react-hook-form + zod). |
| 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 |
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
We are using Next 15 with React 19, follow these steps:
Clone the repo:
git clone https://github.com/Kiranism/next-shadcn-dashboard-starter.git
pnpm install( we have legacy-peer-deps=true added in the .npmrc)- 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. pnpm run dev
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! ๐ฅ