A modern Role-Based Access Control (RBAC) dashboard built with React, TypeScript, and Tailwind CSS. This application provides a user-friendly interface for managing users, roles, and permissions efficiently.
š User Management
š„ Role Management
š”ļø Permission System
š« Modern UI/UX
src/
āāā components/
ā āāā layout/
ā ā āāā DashboardLayout.tsx
ā āāā roles/
ā ā āāā RoleList.tsx
ā āāā shared/
ā ā āāā ConfirmationModal.tsx
ā ā āāā CustomCheckbox.tsx
ā āāā users/
ā āāā UserList.tsx
āāā context/
ā āāā AppContext.tsx
āāā hooks/
ā āāā useLocalStorage.ts
āāā types/
ā āāā index.ts
āāā App.tsx
āāā main.tsx
Clone the repository:
git clone https://github.com/yourusername/rbac-admin.git
Install dependencies:
npm install
Start the development server:
npm run dev
Open http://localhost:5173 in your browser.
npm run dev
- Start development servernpm run build
- Build for productionnpm run preview
- Preview production buildnpm run lint
- Run ESLintThe main layout component that provides the sidebar navigation and responsive design.
Manages the list of users with CRUD operations and search functionality.
Handles role management with permission configuration and search capabilities.
A reusable checkbox component with custom animation and styling.
interface User {
id: string;
name: string;
email: string;
role: string;
status: 'active' | 'inactive';
}
interface Role {
id: string;
name: string;
description: string;
permissions: Permission[];
}
interface Permission {
id: string;
name: string;
description: string;
module: string;
}
The application uses React Context API for state management. The AppContext
provides:
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the MIT License - see the LICENSE file for details.