Dashboard

⟳ Auto-refresh every 60s Last refreshed:
👥
5,000
Total Survey Members
312
Total Gen Z (Below 25 years)
Members by Age Group
Distribution of survey members across age categories
Age Group
Tech Spec

Dashboard — Brief Technical Requirements

  • On page load: execute Aggregate GetDashboardKPIs — count all Survey records, count records with DOB > (CurrDate - 25 years) for Gen Z.
  • Column chart data: group Survey records by age category using a SQL Query or server-side logic. Categories: Toddlers (0–2), Kids (3–12), Teens (13–19), Adults (20–60), Senior Citizens (60+).
  • Auto Refresh: Use a JavaScript Timer (setInterval) to call Ajax.Refresh(GetDashboardKPIs) every 60 seconds. Update the "Last Refreshed" timestamp using JavaScript() node that reads $parameters.Now.
  • Last Refreshed shown as formatted time. Use Format_DateTime(CurrDateTime(), "hh:mm:ss tt") as output parameter.

🎓 What You Will Learn — Census 2026

This OutSystems practice project covers 10 real enterprise patterns used on live client projects. Master every concept below by completing the full implementation.

OutSystems BPT (Business Process Technology)

Implement asynchronous background processing using OutSystems BPT. Process bulk-uploaded Excel files row by row without blocking the UI — a core enterprise pattern for large data imports.

OutSystems Timer — Scheduled Background Jobs

Create and configure an OutSystems Timer to run a nightly vendor data sync at 10 PM. Learn Timer setup in Service Studio, scheduling in Service Center, and error handling for background jobs.

Calling Third-Party REST APIs & JSON Processing

Use OutSystems Consume REST API to call an external vendor API. Process the JSON response, map data structures, handle authentication headers, and loop through response arrays.

Azure Blob Storage — Async File Upload

Upload Excel files to Azure Blob Storage from OutSystems using the AzureBlobConnector. Learn BlobName construction, Site Properties for secure config, and end-to-end async file handling.

Excel Upload & Processing in OutSystems

Handle .xlsx file uploads end-to-end — file validation, blob storage, BPT-driven row-by-row processing, error logging, and email confirmation on completion.

Excel Download from OutSystems

Export all database records to an Excel file using the ExcelUtils Forge component. Implement a spinner during export, serve the binary file as a download, and name files dynamically.

Auto-Refresh Dashboard in OutSystems

Build a live-updating dashboard using JavaScript setInterval combined with OutSystems Ajax Refresh. Display a last-refreshed timestamp updated every 60 seconds without a full page reload.

OutSystems Dashboard with KPIs & Charts

Build a data-driven dashboard with KPI cards and column charts. Aggregate data server-side using OutSystems Aggregates and SQL Queries, and render charts using JavaScript or a Forge chart component.

End-to-End System Design & Validations

Design a complete feature end-to-end — from Login and data entry to bulk upload, background processing, API sync, dashboard, and data export. Apply proper input validation, role-based access, error handling, and audit logging throughout.