An advanced Role-Based Access Control (RBAC) system for managing users, roles, and permissions. It features a responsive interface, dynamic permissions, interactive analytics, and secure authentication with multi-language support using i18next.
- User Management: Add, edit, delete, and search users.
- Role Management: Add, edit, or delete roles and assign dynamic permissions.
- Interactive Analytics: View user and role statistics via bar and pie charts.
- Multi-Language Support: Switch seamlessly between languages.
- Authentication: Secure login using JWT and multi-factor authentication (MFA).
- Responsive Design: Fully optimized for various devices.
- Node.js installed on your system.
- Clone the repository: git clone https://github.com/bavi404/rbac-ui.git cd rbac-ui
Install dependencies:
npm install
Start the mock data server:
npm run data-server
Start the auth/OTP server:
npm run server
Start the frontend development server:
npm start
Open the app at http://localhost:3000.
Copy .env.example → .env and fill values as needed.
If using a monorepo structure, also copy:
frontend/.env.example→frontend/.envbackend/.env.example→backend/.env
Create a .env file (optional):
REACT_APP_AUTH_BASE_URL=http://localhost:5000
REACT_APP_DATA_BASE_URL=http://localhost:3001
- Frontend: React.js, Tailwind CSS, Chart.js, i18next
- Backend: Node.js, Express, JWT, bcrypt, Socket.IO, json-server (mock)
- See
docs/ARCHITECTURE.md,docs/DECISIONS.md, anddocs/known-issues.md.
Contact Author: Bavishya Sankaranarayanan Email: sankaranarayananbavishya@gmail.com GitHub: bavi404