https://github.com/tlklein/next-shadcn-dashboard-starter
This project is a starter template for building an Admin Dashboard using Next.js 15 and ShadCN UI.
https://github.com/tlklein/next-shadcn-dashboard-starter
Last synced: over 1 year ago
JSON representation
This project is a starter template for building an Admin Dashboard using Next.js 15 and ShadCN UI.
- Host: GitHub
- URL: https://github.com/tlklein/next-shadcn-dashboard-starter
- Owner: tlklein
- License: mit
- Created: 2025-02-08T03:52:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-24T22:06:55.000Z (over 1 year ago)
- Last Synced: 2025-02-24T23:20:31.741Z (over 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 2.81 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Next.js Admin Dashboard Starter Template With Shadcn-ui
This project is a starter template for building an Admin Dashboard using Next.js 15 and ShadCN UI. It provides a structured foundation with essential features like navigation, authentication, and UI components to help developers quickly set up an admin panel.
## Overview
- NOTE: **Next 15** with **React 19**
This is the general technical framework:
- Framework - [Next.js 15](https://nextjs.org/13)
- Language - [TypeScript](https://www.typescriptlang.org)
- Styling - [Tailwind CSS](https://tailwindcss.com)
- Components - [Shadcn-ui](https://ui.shadcn.com)
- Schema Validations - [Zod](https://zod.dev)
- State Management - [Zustand](https://zustand-demo.pmnd.rs)
- Search params state manager - [Nuqs](https://nuqs.47ng.com/)
- Auth - [Auth.js](https://authjs.dev/)
- Tables - [Tanstack Tables](https://ui.shadcn.com/docs/components/data-table)
- Forms - [React Hook Form](https://ui.shadcn.com/docs/components/form)
- Command+k interface - [kbar](https://kbar.vercel.app/)
- Linting - [ESLint](https://eslint.org)
- Pre-commit Hooks - [Husky](https://typicode.github.io/husky/)
- Formatting - [Prettier](https://prettier.io)
- F1 World Championship Data 1950-2020 - [Kaggle](https://www.kaggle.com/datasets/rohanrao/formula-1-world-championship-1950-2020)
## Feature-based organization
```plaintext
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
```
## Getting Started
- Follow these steps:
Clone the repo:
```
git clone https://github.com/tlklein/next-shadcn-dashboard-starter.git
```
- `pnpm install` ( we have legacy-peer-deps=true added in the .npmrc)
- Create a `.env.local` file by copying the example environment file:
`cp env.example.txt .env.local`
- Add the required environment variables to the `.env.local` file.
- `pnpm run dev`
You should now be able to access the application at http://localhost:3000.