Documentation

Dashboard

The role-based data-viewing surface every Awali user lands on after login.

What It Is

The Dashboard is Awali's primary interface for end users. After login, every user sees a list of tables they have permission to view, organized into menu sections. Click any table to open an interactive data grid with filtering, sorting, drill-down navigation, and CSV export.

Behind the scenes, each table is backed by a SQL query against data_db — defined once by an administrator and made available to specific roles or users.

What You Can Do

Browse available tables

  • The dashboard landing page lists every table you have permission to view.
  • Tables are grouped into menu sections defined by your administrator.
  • Tables you can't see don't appear — the menu is filtered to your permission set.

Explore a table

  • Click a table to open the interactive data grid.
  • Headers stay visible as you scroll long result sets.
  • Wide tables get synchronized dual scrollbars (top and bottom) so horizontal scrolling stays comfortable on big displays.
  • Page through the data with a configurable page size (default 20 rows per page).

Filter and sort

  • Each filterable column gets its own filter control, with the right type for the data — text search, exact match, numeric range, date range, or dropdown selection.
  • Filters apply in real time; results update as you change them.
  • Clear All resets every active filter at once.
  • Click any sortable column header to sort ascending or descending. Each table has a configurable default sort.

Drill down through related tables

  • Columns can be configured as drill-down links to related tables.
  • Clicking a linked value opens the destination table automatically filtered to the row you came from.
  • This lets you navigate from summary → detail → further detail without writing a single query.

Export to CSV

  • Click Export to download the current view as CSV.
  • The export respects every filter you've applied.
  • Only the columns visible in the configured table are included — underlying SQL columns that aren't surfaced in the UI are excluded.
  • Export is a separately-controlled permission — some users may be able to view a table but not export it.

How a Table Gets to the Dashboard

End users never configure tables — administrators do, through Awali's Builder configuration layer. Here's the full path from raw data to a dashboard table:

  1. Raw data arrives through Dagster pipelines or CSV uploads in DBT Workshop.
  2. dbt models in DBT Workshop transform the raw data into analysis-ready tables in data_db.
  3. A TableConfig in the Builder defines the SQL query that drives the dashboard table, plus its display name and description.
  4. TableColumns define each column's display name, type, whether it's filterable, whether it's sortable, and whether it's visible to end users.
  5. TableDrilldowns wire linked columns to other tables, passing the row's context as a filter on the destination.
  6. MenuItems group the table into a section of the dashboard navigation.
  7. TablePermissions grant can_view and can_export per role and per user.

Common Workflows

Find the rows that match a condition

  1. Open the table from the dashboard.
  2. Use the column filters — combine as many as you need.
  3. Sort by the column that matters for your investigation.
  4. Page through, or export the filtered set to CSV if you need it offline.

Trace a parent record through to its details

  1. Open the parent table.
  2. Filter to the row you care about.
  3. Click the drill-down link in the relevant column — the related table opens, already filtered to your context.
  4. Drill again if there's a deeper link configured.

Pull a fresh extract for a stakeholder

  1. Open the relevant table.
  2. Apply the filters that match what the stakeholder asked for.
  3. Click Export; the CSV downloads with your filtered rows and visible columns.

Glossary

Table
A configured view of data backed by a SQL query against data_db, surfaced to end users in the dashboard.
Menu section
The organizational grouping that determines where a table appears in the dashboard navigation.
Drill-down
A configured link from a column in one table to another table, automatically passing the parent row's context as a filter.
TableConfig
The administrator-defined definition of a dashboard table — its SQL, display name, default sort, and metadata.
can_view / can_export
Per-table, per-role (or per-user) permissions controlling who sees a table and who can export it.

What the Dashboard Is Not

The Dashboard is intentionally focused on tabular exploration. It is not a charting tool, a KPI scorecard, or a real-time monitoring surface. If your team needs:

  • A custom CRUD screen with forms and workflow — use Screen Builder.
  • Chart visualizations — not currently supported in the Dashboard; consider building a custom screen.
  • Scheduled report delivery — not currently supported; export manually after applying your filters.
  • Real-time updates — refresh the page to see new data; the Dashboard does not auto-poll.
  • External sharing or embedding — not supported; all access is through authenticated sessions.

Access & Security

  • All access requires login with MFA (TOTP plus backup codes).
  • Permissions are enforced server-side: a user who isn't granted can_view on a table sees no trace of it in the menu and cannot reach it by URL.
  • Exports respect the same permission boundary — can_export is checked independently of can_view.
  • Filter values are bound parameters, not string-interpolated SQL — protecting against injection at the API layer.
  • Expired sessions are redirected back to login; in-flight API requests fail closed.

← Back to overview