A modern Nuxt.js dashboard starter template with monolithic architecture, built-in authentication, form validation, and data table management.
- Framework: Nuxt 3
- UI Components:
- Shadcn-Vue
- Reka UI
- Lucide Icons
- Styling:
- TailwindCSS
- Class Variance Authority
- Database:
- Prisma ORM
- SQLite (can be easily switched to PostgreSQL/MySQL)
- Authentication:
- JWT (jsonwebtoken)
- HTTP-only cookies
- Form & Validation:
- Vee-validate
- Zod schema validation
- Data Table:
- TanStack Table (Vue)
- Built-in search & pagination
- Others:
- TypeScript
- Vue Sonner (toast notifications)
- VueUse (composition utilities)
- 🔐 Authentication with JWT
- 📊 Data Tables with Search & Pagination
- 📝 Form Validation using Zod Schemas
- 🎨 Beautiful UI with Shadcn-Vue
- 🗄️ Database Integration with Prisma
- 🔍 Type-safe APIs
- 📱 Responsive Layout
nuxt-dashboard/
├── components/ # Reusable Vue components
│ ├── ui/ # Shadcn-Vue UI components
│ └── user/ # User-related components
├── composables/ # Vue composables (useAuth, etc)
├── layouts/ # Page layouts
├── middleware/ # Nuxt middleware (auth, etc)
├── pages/ # Application pages
├── prisma/ # Database schema and migrations
├── public/ # Static files
├── server/ # API routes and server utilities
│ └── api/ # API endpoints
└── types/ # TypeScript type definitions
- Clone the repository:
git clone <repository-url>
cd nuxt-dashboard- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env- Initialize database and run migrations:
npx prisma generate
npx prisma migrate dev- Seed the database (optional):
npm run seed- Start development server:
npm run devThe starter comes with built-in JWT authentication:
- Login page with form validation
- Protected routes using middleware
- HTTP-only cookie based token storage
Ready-to-use data table component with:
- Sorting
- Pagination
- Search functionality
- Row actions (edit/delete)
- TypeScript support
Forms are implemented using vee-validate and zod:
- Schema-based validation
- Real-time validation
- Custom error messages
- TypeScript integration
- Create new components in
components/ - Add new API routes in
server/api/ - Define types in
types/ - Add new pages in
pages/
- Modify schema in
prisma/schema.prisma - Run migrations:
npx prisma migrate devBuild for production:
npm run buildPreview production build:
npm run previewMIT
This starter template is designed to help you quickly bootstrap admin dashboards and web applications. It comes with all the necessary tooling and pre-built components to save development time while maintaining best practices.