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:
- Raw data arrives through Dagster pipelines or CSV uploads in DBT Workshop.
- dbt models in DBT Workshop transform the raw data into analysis-ready tables in
data_db. - A TableConfig in the Builder defines the SQL query that drives the dashboard table, plus its display name and description.
- TableColumns define each column's display name, type, whether it's filterable, whether it's sortable, and whether it's visible to end users.
- TableDrilldowns wire linked columns to other tables, passing the row's context as a filter on the destination.
- MenuItems group the table into a section of the dashboard navigation.
- TablePermissions grant
can_viewandcan_exportper role and per user.
Common Workflows
Find the rows that match a condition
- Open the table from the dashboard.
- Use the column filters — combine as many as you need.
- Sort by the column that matters for your investigation.
- Page through, or export the filtered set to CSV if you need it offline.
Trace a parent record through to its details
- Open the parent table.
- Filter to the row you care about.
- Click the drill-down link in the relevant column — the related table opens, already filtered to your context.
- Drill again if there's a deeper link configured.
Pull a fresh extract for a stakeholder
- Open the relevant table.
- Apply the filters that match what the stakeholder asked for.
- 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_viewon a table sees no trace of it in the menu and cannot reach it by URL. - Exports respect the same permission boundary —
can_exportis checked independently ofcan_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.