A modern, responsive admin dashboard built with React, TypeScript, and Tailwind CSS, featuring Role-Based Access Control (RBAC).
-
🔐 Secure Authentication System
- JWT-based authentication
- Protected routes
- Role-based access control
- Session management
-
👥 User Management
- User creation and editing
- Role assignment
- Activity logging
- User statistics
-
🛡️ Role Management
- Hierarchical roles (Super Admin, Admin, User)
- Custom permission settings
- Role-based route protection
-
📊 Dashboard Analytics
- User growth metrics
- Activity monitoring
- System health statistics
- Interactive charts
- Frontend Framework: React 18 with TypeScript
- Routing: React Router v6
- State Management: Zustand
- Form Handling: React Hook Form with Zod validation
- Data Visualization: Recharts
- Styling: Tailwind CSS
- Icons: Lucide React
- Development: Vite
- Node.js (v16 or higher)
- npm or yarn
- Clone the repository:
git clone <repository-url>- Install dependencies:
npm install- Start the development server:
npm run devThe application will be available at http://localhost:5173
- Email: admin@example.com
- Password: password123
src/
├── api/ # API integration
├── components/ # Reusable components
│ ├── Auth/ # Authentication components
│ ├── Dashboard/# Dashboard-specific components
│ └── Layout/ # Layout components
├── pages/ # Page components
├── store/ # State management
├── types/ # TypeScript types
└── utils/ # Utility functions
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
- JWT token-based authentication
- Protected routes with role-based access
- Form validation with Zod
- Secure session management
- Input sanitization
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.