EnergyAtlas Wiki
WebAPI
Quick Start Workflows Python WebAPI Library User Stories Wiki Guide
  • Web API Reference
  • Development Guide
  • Architecture
  • Core
  • Web Development
    • Overview
    • Execution Modes
    • GUI Jobs
    • GUI-less Jobs
    • Local File Access
    • Report Logs
  • Grasshopper Development
    • Components
    • Component Standards
    • Live Preview

WebAPI

EnergyAtlasWeb Development Guide¶

EnergyAtlasWeb is the web and cross-platform frontend for EnergyAtlas. It consists of an ASP.NET backend serving a JavaScript-driven UI, and can run either as a standalone web app in a browser or as a native desktop application via .NET MAUI.

This section documents the job system, real-time logging, file handling, and execution mode differences that developers need to understand when extending the application.

Job system¶

EnergyAtlasWeb supports two kinds of jobs:

  • GUI Job — Automatically generates a complete job page (input form, real-time logs, output display) from C# attribute-decorated input/output classes. Use this when the job requires user-provided parameters or produces downloadable artefacts.

  • GUI-less Job — A single-click background task with no input form. Parameters are hard-coded or read from server configuration. Use this for batch processing, infrastructure tasks, or anything that doesn't need user input.

Both job types share the same real-time logging infrastructure built on SignalR.

Supporting infrastructure¶

  • SignalR Logging — How jobs report progress to the frontend in real time. Covers IJobReporter, JobSignal, BinaryProgress (spinner), TQDM (progress bar), and the SignalR delivery pipeline.

  • Working with Local Files — How file picking, upload, and output artefacts work. Covers the MAUI file picker bridge, the artifact sink for in-memory downloads, and on-disk reveal-in-folder outputs.

  • Execution Modes — The two modes (browser and local/MAUI) that control how the frontend interacts with files and the host environment. Covers configuration, detection, and what changes between modes.

Quick reference¶

Topic Page Key classes
GUI job gui-job.md GUIJobFactoryBase<TInput,TOutput>, IGUIJob<TInput,TOutput>, [JobInput], [JobOutput]
GUI-less job guiless-job.md IJobFactory, IControllerJob
Logging report-logs.md IJobReporter, JobSignal, BinaryProgress, TQDM
File access file-sys-access.md OutputFileReference, IArtifactSink, GUIJobRunContext
Execution modes exec-modes.md ExecutionMode config key, /api/config
Core Previous Execution Modes Next

Last page update GMT-04:00 05:00 Jul 19 2026
Last website update GMT-04:00 05:00 Jul 19 2026

Found an issue on this page? Please open an issue on GitHub.

On this page

  • EnergyAtlasWeb Development Guide
    • Job system
    • Supporting infrastructure
    • Quick reference

WIP EnergyAtlas Wiki

EnergyAtlas Wiki is still under active development. Thank you for your patience while we improve the documentation. If you have any questions, please contact us.