How abdrahman02/rbac-boilerplate works
RBAC Boilerplate is a full-stack admin dashboard starter: users authenticate, receive roles and permissions, and use permission-gated screens to manage users, roles, permissions, audit history, and notifications. The frontend calls the Express API; the backend’s documented controller–service–repository layers implement domain operations against MySQL. Authentication source confirms token, verification-email, and refresh-token handling. The tree and README establish the other major capability areas, but their detailed wiring was not sampled, so those links are shown only at documented architectural boundaries.
Main entry points: app.ts Express API · repositories Data repositories · api-client.ts API client · app Next.js app
Components 21
Admin frontend
- Next.js app
frontend/src/app - Auth screens
frontend/src/features/auth - Admin features
frontend/src/features - API client
frontend/src/shared/lib/api-client.ts - Auth state
frontend/src/shared/stores/authStore.ts
Backend API
- Express API
backend/src/app.ts - Auth routes
backend/src/routes/auth.ts - User controller
backend/src/controllers/user.controller.ts - Role controller
backend/src/controllers/role.controller.ts - Permission controller
backend/src/controllers/permission.controller.ts - Other controllers
backend/src/controllers
RBAC services
- Authentication
backend/src/services/auth.service.ts - User management
backend/src/services/user.service.ts - Role management
backend/src/services/role.service.ts - Permission management
backend/src/services/permission.service.ts - Dashboard, audit, notifications
backend/src/services - Data repositories
backend/src/repositories
Persistence and integrations
- MySQL database
- Email service
- SSE clients
Other components
- Dashboard user
Connections 25
- Dashboard user → Next.js app: uses
- Next.js app → Auth screens: renders
- Next.js app → Admin features: renders
- Auth screens → API client: calls API
- Admin features → API client: calls API
- API client → Express API: HTTP requests
- API client → Auth state: clears auth
- Express API → Auth routes: mounts
- Express API → User controller: mounts users
- Express API → Role controller: mounts roles
- Express API → Permission controller: mounts permissions
- Express API → Other controllers: mounts other routes
- Auth routes → Authentication: handles auth
- User controller → User management: calls
- Role controller → Role management: calls
- Permission controller → Permission management: calls
- Other controllers → Dashboard, audit, notifications: handles domain
- Authentication → Data repositories: reads/writes
- User management → Data repositories: reads/writes
- Role management → Data repositories: reads/writes
- Permission management → Data repositories: reads/writes
- Dashboard, audit, notifications → Data repositories: reads/writes
- Data repositories → MySQL database: queries
- Authentication → Email service: sends mail
- Dashboard, audit, notifications → SSE clients: streams notices