Skip to main content
Source snapshot: 13 October 2026. These pages describe the current implementation, including unfinished controls. See coverage and review notes.

Mahall dashboard

Host: admin.<ROOT_DOMAIN> · Route: /[tenant]/overview

Purpose and access

Review the operational dashboard inside the Mahall navigation area. This is a separate screen from Home.You need an account session and a resolved membership context in the selected Mahallu (including the API’s current platform elevation path). The API independently checks the requested operation’s permissions and feature availability.

Screen layout

The page starts with a greeting and setup checklist. It then presents recent members, the treasury snapshot, upcoming agenda, and demographic summaries.

Fields and displayed information

This screen has no editable fields or filters in its rendered components.

Actions

Linked navigation

Interaction sequence

Check setup progress → follow a checklist link to the relevant settings page → return to inspect recent records → open a member or event from its link.

States and rules

Recent-member and event panels distinguish unavailable data from an empty list. Supporting requests may return null; do not infer record creation or deletion from dashboard fallback values.

Implementation references

Paths below are relative to the application repository. This is source-reviewed behavior, not a recorded browser test.
  • apps/web/src/app/sites/admin/[tenant]/overview/page.tsx
  • apps/web/src/features/onboarding/setup-checklist.tsx
Data and access helpers: apps/web/src/lib/session.ts, apps/web/src/lib/server-api.ts, apps/web/src/lib/tenants.ts, apps/web/src/lib/members.ts, apps/web/src/lib/business-resources.ts, apps/web/src/lib/finance.ts, apps/web/src/lib/services.ts, apps/web/src/lib/structure.tsRelevant controller permission keys: education.view, finance.view, finance.settings.view, finance.settings.update, accounting.accounts.manage, accounting.journal.create, accounting.view, accounting.journal.cancel, accounting.ledger.view, accounting.reports.view, collections.view, collections.create, collections.update, collections.delete, collections.cancel, receipts.view, expenses.view, expenses.create, expenses.update, expenses.approve, payments.create, expenses.cancel, expenses.delete, dues.view, dues.manage, salary.view, salary.create, salary.approve, salary.pay, salary.update, banking.view, banking.manage, taxes.view, taxes.manage, reports.view, events.view, events.create, events.update, events.delete, health.view, health.manage, members.view, members.create, members.update, members.delete. Keys are operation-specific; the current guard grants OWNER/ADMIN and its platform-elevation context an operational bypass. A visible control still does not establish authorization.

API behavior references

  • apps/api/src/analytics/analytics.controller.ts
  • apps/api/src/analytics/tenant-analytics.controller.ts
  • apps/api/src/members/education-employment.controller.ts
  • apps/api/src/members/health-support.controller.ts
  • apps/api/src/members/members.controller.ts
  • apps/api/src/finance/finance.controller.ts
  • apps/api/src/events/event-registrations.controller.ts
  • apps/api/src/events/events.controller.ts