A modern, responsive Role-Based Access Control system built with React Tailwind CSS, featuring granular permissions management, user administration, and role-based access controls.
- π₯ View and manage users in a lexically sorted table
- β Add new users with role assignment
- βοΈ Edit user roles and status
- ποΈ Delete users (admin only)
- π User status tracking (Active/Inactive)
- π Pre-configured roles (Admin, Moderator, User)
- π Role-based access control
- π Edit role permissions
- π― Granular permission management
- ποΈ Granular permission controls
- π Category-based permission organization
- π Dynamic permission inheritance
- π‘οΈ Secure access control
- πΎ Local storage persistence
- π Automatic data caching
- π Efficient state management
- Framework: React 18 + Vite
- Styling: Tailwind CSS
- Data Persistence: localStorage
- Node.js (v14 or higher)
- npm or yarn
- Clone the repository
git clone https://github.com/yourusername/rbac-ui.git
- Install dependencies
cd rbac-ui
npm install
- Start the development server
npm run dev
- Build for production
npm run build
- Full system access
- Manage users and roles
- Delete users
- Modify any role
- Access all features
- Create users (limited to User/Moderator roles)
- View users
- Edit basic user info
- Cannot delete users
- Cannot modify Admin roles
- View users only
- No management capabilities
- Basic access only
- Role-based access control
- Permission-based feature access
- Input validation
- Secure state management
- Protected routes
- Error handling
The application implements a custom caching system using localStorage:
- First-time data fetch from source
- Subsequent fetches from cache
- Automatic cache updates
- Persistent data storage
- Add, edit, and delete users
- Assign and modify roles
- Toggle user status
- Sort users alphabetically
- Drag-and-drop reordering (admin only)
- Granular permission control
- Role-based access
- Feature-level restrictions
- Dynamic permission updates
rbac-ui/
βββ src/
β βββ components/
β β βββ UsersTable.jsx
β β βββ EditRoleModal.jsx
β β βββ AddUserModal.jsx
β βββ store/
β β βββ Data.js
β βββ App.jsx
βββ public/
βββ package.json
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
Project Link: https://github.com/kriti-raj/rbac-ui