Screens, roles and permissions
Every screen of the dashboard, what it reads and saves, and how roles and permissions decide what each admin can do.
For the Full Stack package
The screens
Every screen lives under /en/dashboard and /ar/dashboard, behind the sign-in, and is listed in the sidebar.
| Screen | Address | What it does |
|---|---|---|
| Sign in | /en/auth/login | Email and password, with Remember me. The Google and Apple buttons and "Forgot your password?" are placeholders that say they are not set up: an administrator sets a new password from Admin Management. |
| Overview | /en/dashboard | A greeting with the local weather, key figures, insights, performance, a radar, a revenue chart, a world map, a calendar, the latest projects and your quick tasks. Export saves the page as a PNG image. |
| AI Assistant | /en/dashboard/ai-assistant | Chat about your data in plain words. It answers with figures, cards, charts and lists, and can create, edit, delete and restore users and change app settings, within your own permissions. |
| Users | /en/dashboard/users/all | Search, filter, create and edit users, change a password, mark an email verified or not, and delete. Each user has a page of its own. |
| Deleted users | /en/dashboard/users/deleted | Users deleted from the list, kept so they can be restored. |
| Projects | /en/dashboard/projects/all | Projects with a status (in progress, ready, blocked), an environment, a version, a picture and an English and Arabic name and description. Each project has a page of its own. |
| Deleted projects | /en/dashboard/projects/deleted | Deleted projects, kept so they can be restored. |
| Admin Management | /en/dashboard/admins-management | The admins who can sign in: create, edit, give roles, delete. Each admin has a page of its own. |
| Admin Roles | /en/dashboard/admins-roles | Create and rename roles and choose the permissions each one grants. |
| Settings | /en/dashboard/settings | Profile (your name, email, phone, country and picture), Security (your password) and App Settings (the application's own settings, such as the site name, the support email and maintenance mode). |
| UI Component | /en/dashboard/ui-component | Every reusable component of the dashboard with a live example: buttons, inputs, tables, modals, sheets, charts, a rich text editor, a phone input, a world map and more. |
What is live and what is sample
- Users, projects, admins, roles, permissions, app settings, your quick tasks and the assistant's conversations are read from and saved to the API, or to the built-in mock API in your browser.
- On the overview, the total users, the total projects and the projects table come from the API. The other figures and charts (insights, performance, the radar, revenue, the world map and the calendar's events) are sample data in the code, ready to be connected to your own sources.
- Deleting a user or a project is a soft delete: the row is kept and listed under Deleted, from where it can be restored.
- "Resend verification email" on a user answers that the email was sent, but the API sends no mail: it is the place to connect your own mail service.
Light and dark
The header switches between light and dark mode, and the browser remembers the choice. Every colour is a CSS variable defined for both themes.
Roles
An admin can hold several roles, and gets every permission any of them grants. The seed creates five roles, which you can change on the Admin Roles page:
| Role | What it can do |
|---|---|
| Super Admin | Everything |
| Admin | Everything except deleting admins and creating, editing or deleting roles or what they grant |
| Manager | Users and projects in full, the assistant, and looking at admins, roles and settings |
| Editor | Look at, create and edit users and projects, and use the assistant |
| Viewer | See every list (admins, roles, settings, users and projects), with no creating, editing or deleting and no assistant; their own password and quick tasks still work |
admin@example.com is the Super Admin. Every other seeded admin, such as john.smith@admin.com, is a Viewer.
Permissions
There are 25 permissions, named module.action:
| Module | Permissions |
|---|---|
| Admins | admins.view, admins.create, admins.edit, admins.delete, admins.assign_roles |
| Roles | roles.view, roles.create, roles.edit, roles.delete, roles.assign_permissions |
| Users | users.view, users.create, users.update, users.delete, users.restore, users.verify |
| Projects | projects.view, projects.create, projects.edit, projects.delete, projects.restore |
| Settings | settings.view, settings.edit |
| AI assistant | ai_chat.use, ai_chat.view_models |
- The API checks the permission on every route, and the assistant checks it on every tool it runs. The dashboard only decides what to show: a button an admin may not use is hidden.
- Saving your own profile needs
admins.edit. Changing your own password and your quick tasks need no permission: each admin has their own. - When a role's permissions change, every signed-in admin's dashboard is told over a live connection, and its menus and buttons follow without a reload.
How the code fits together
Included with your purchase. Sign in to read, or open it in your download.
Where each screen's code lives, how a screen gets its data, checking a permission, and adding a page.