A beautiful, modern admin dashboard built with Next.js 15, TypeScript, Tailwind CSS, and shadcn/ui. Features a clean design with dark/light mode support, responsive layout, and comprehensive dashboard components.
This template is designed and developed under the Darvix brand.
Website:https://darvix.ir/
π Live Demo: https://admin.darvix.ir/login
The demo screenshot showcases the main dashboard, analytics, notifications, profile, and components showcase pages.
- β Next.js 15 with App Router
- β TypeScript for type safety
- β Tailwind CSS for styling
- β shadcn/ui components
- β Dark/Light mode with theme toggle
- β React Query for data fetching
- β Responsive design (mobile-friendly)
- β Authentication pages (Login & Register)
- β Dashboard with analytics
- β Users data table with sorting, filtering, and pagination
- β Charts powered by Recharts
- β Settings page with form inputs
- β Builtβin i18n with Persian (fa) and English (en) translations
- β
RTL/LTR layout support driven by a
LanguageProvider - β Language toggle in both auth pages and the main navbar
- β ESLint & Prettier configured
- β Mock data for development
- Framework: Next.js 15
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Icons: Lucide React
- Charts: Recharts
- Data Fetching: TanStack Query (React Query)
- Theme Management: next-themes
- Code Quality: ESLint + Prettier
admin-dashboard-next/
βββ src/
β βββ app/
β β βββ (auth)/
β β β βββ login/
β β β β βββ page.tsx
β β β βββ register/
β β β β βββ page.tsx
β β β βββ layout.tsx
β β βββ (dashboard)/
β β β βββ dashboard/
β β β β βββ page.tsx
β β β βββ users/
β β β β βββ page.tsx
β β β βββ orders/
β β β β βββ page.tsx
β β β βββ reports/
β β β β βββ page.tsx
β β β βββ settings/
β β β β βββ page.tsx
β β β βββ layout.tsx
β β βββ globals.css
β β βββ layout.tsx
β β βββ page.tsx
β βββ components/
β β βββ ui/
β β β βββ button.tsx
β β β βββ card.tsx
β β β βββ input.tsx
β β β βββ table.tsx
β β β βββ ... (more UI components)
β β βββ layout/
β β β βββ sidebar.tsx
β β β βββ navbar.tsx
β β βββ dashboard/
β β βββ stat-card.tsx
β β βββ overview-chart.tsx
β β βββ recent-orders.tsx
β βββ lib/
β β βββ utils.ts
β β βββ api.ts
β β βββ auth.ts
β βββ hooks/
β β βββ use-theme.tsx
β βββ providers/
β β βββ query-provider.tsx
β β βββ theme-provider.tsx
β βββ types/
β β βββ index.ts
β βββ data/
β βββ mock-users.json
β βββ mock-orders.json
β βββ mock-stats.json
β βββ mock-chart.json
βββ public/
βββ tailwind.config.ts
βββ tsconfig.json
βββ next.config.ts
βββ components.json
βββ .prettierrc.json
βββ package.json
- Node.js 18+ and npm/yarn/pnpm
# Navigate to project directory
cd admin-dashboard-next
# Install dependencies
npm installnpm run devOpen http://localhost:3000 in your browser.
- Login (
/login): User authentication page - Register (
/register): New user registration
- Dashboard (
/dashboard): Main dashboard with stats, charts, and recent orders - Users (
/users): User management with sortable, searchable, filterable data table and pagination - Orders (
/orders): Simple orders table with status badges for each order - Reports (
/reports): Analytics and detailed reports - Settings (
/settings): User preferences and account settings - Analytics (
/analytics): Detailed analytics with metrics cards, traffic sources, top pages, and overview/engagement/conversion tabs - Notifications (
/notifications): Notification center with unread/read tabs, markβallβasβread, and inline actions - Profile (
/profile): Profile page with avatar, profile form (name, email, phone, location), password change, and recent activity - Components Showcase (
/components-demo): Full gallery of all UI components (buttons, badges, inputs, select, switch, alerts, progress, avatar, skeleton, cards, table, tabs, dialog, dropdown, combined example, color palette)
- 4 statistic cards (Sales, Users, Orders, Revenue)
- Interactive area chart showing trends
- Recent orders table with search functionality
- Sortable data table
- Search by name or email
- Filter by role and status
- Pagination
- Profile information form
- Theme selection (Light/Dark/System)
- Notification preferences
# Development
npm run dev
# Build for production
npm run build
# Start production server
npm start
# Lint code
npm run lint
# Format code with Prettier
npm run format
# Check formatting
npm run format:checkThe dashboard supports three theme modes:
- Light Mode
- Dark Mode
- System (follows OS preference)
Toggle theme using the button in the top navbar.
Currently uses mock authentication stored in localStorage:
- Any email/password combination will work for login
- After login, you'll be redirected to
/dashboard - User data is stored in localStorage
For production: Replace mock auth in src/lib/auth.ts with real authentication (NextAuth.js, Auth0, etc.).
Mock data is located in src/data/:
mock-users.json: User datamock-orders.json: Order datamock-stats.json: Dashboard statisticsmock-chart.json: Chart data
Replace with real API calls in src/lib/api.ts for production.
- Push your code to GitHub
- Import project in Vercel
- Deploy with one click
npm run build
npm startEdit src/app/globals.css to customize the color palette.
All UI components are in src/components/ui/ and can be customized.
Edit sidebar navigation in src/components/layout/sidebar.tsx.
Create a .env.local file for environment variables:
# Add your environment variables here
NEXT_PUBLIC_API_URL=https://your-api.comContributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
Built with β€οΈ using Next.js 15 β by Darvix
Darvix: ΨͺΩΨ³ΨΉΩ ΩΨ¨Ψ Ψ·Ψ±Ψ§ΨΫ UI/UX Ω Ω
ΨΨ΅ΩΩΨ§Ψͺ Ψ―ΫΨ¬ΫΨͺΨ§Ω Ω
Ψ―Ψ±Ω Ψ¨Ψ§ ΨͺΪ©ΩΩΩΩΪΫβΩΨ§Ϋ Ψ±ΩΨ².
ΩΨ¨βΨ³Ψ§ΫΨͺ: https://darvix.ir/
