38 lines
2.5 KiB
Markdown
38 lines
2.5 KiB
Markdown
# Roadmap
|
||
|
||
## Goal
|
||
|
||
A hosted dashboard where staff in each MCCS region sign in and see their own region's queue. It should be customisable per user, and easy to extend with new panels.
|
||
|
||
## Target architecture
|
||
|
||
- **Identity:** users sign in (Zoho web OAuth, or Microsoft if MCCS staff use it) only to identify themselves.
|
||
- **Data:** one service connection, signed in once by an admin, with its refresh token kept and auto-renewed. Its SDP account must be able to see every region.
|
||
- **Regions:** profiles stored in SQLite (sites, groups, technicians, statuses). Checks run once per region and the results are cached, so API traffic grows with regions, not viewers.
|
||
- **Access:** users are assigned to regions and the server enforces it. An admin role manages regions and assignments.
|
||
- **Extensibility:** each panel is a module with server code to fetch its data and page code to draw it. The weather card is the first example.
|
||
|
||
## Phases
|
||
|
||
- [ ] **1. Keep the token alive:** store the Zoho `refresh_token` (currently thrown away in `auth.js`), auto-renew the hourly access token, and save it to a file or the database so it survives restarts.
|
||
- [ ] **1b. Admin-only actions:** make `/api/connect` and `/api/check` admin-only.
|
||
- [ ] **2. Regions as configuration:** one board service per region, `/api/regions/:id/...` routes, and a region switcher on the page. The current `.env` settings become the first region, "Central".
|
||
- [ ] **3. User sign-in:** web OAuth, sessions, user-to-region mapping, admin role. Needs a "Server-based Application" client in the Zoho console and HTTPS on a real hostname.
|
||
- [ ] **4. Admin pages:** edit regions and assign users.
|
||
- [ ] **5. Deployment:** Dockerfile and docker-compose with `env_file: .env` and a volume for the database and token.
|
||
- [ ] **Later:** per-user preferences (default region, hidden columns, sound) and panel modules.
|
||
|
||
## Open questions
|
||
|
||
- Are regions a **security boundary** (staff can't see other regions) or a **convenience** (default view with a switcher)?
|
||
- Do MCCS staff sign in with Microsoft 365 or Entra ID? That decides between Zoho and Microsoft sign-in.
|
||
- Does SDP itself restrict technicians to certain sites? If it does, per-user tokens become an option.
|
||
|
||
## Done
|
||
|
||
- Dashboard: stat tiles, technician × status table, live closed feed with the ding.
|
||
- Central region scoping by site and group.
|
||
- Unassigned counter. Verified to match the ManageEngine "Central Region Unassigned" view on 2026-10-15.
|
||
- Weather card (OpenWeatherMap).
|
||
- Fixed SDP paging and the date filter (see `NOTES.md`).
|