Isolated multi-tenant switching
A super-admin context lists every app. Entering one rewires the Axios base URL and the Pusher connection, so each tenant keeps its own back end and real-time config.
A single admin dashboard that runs several independent rewards apps from one codebase, with a central super-admin panel and role-based access for each app.

Users earn points in mobile apps by watching ads, finishing tasks, installing apps and inviting friends, then redeem them for gift cards. This dashboard is where the business runs that whole economy.
Each app is an isolated tenant with its own back end and real-time setup, yet admins manage them all through one interface. My part was the front end: the module architecture, the app-switching flow, the permission-driven UI and the screens themselves.
A super-admin context lists every app. Entering one rewires the Axios base URL and the Pusher connection, so each tenant keeps its own back end and real-time config.
Every route and menu item is gated by permission keys fetched per role. Different apps show different pages from the same code, with no forks.
About 40 feature modules follow the same core, table and add-edit pattern, so hundreds of screens stay consistent and easy to maintain.






Dashboards and advanced filters use amCharts 5, ApexCharts and Chart.js. Lists support Excel import and export, and the whole interface ships in Arabic and English with full RTL.
Result: one codebase runs several isolated reward apps, across about 40 feature modules and hundreds of screens.