2019 / Project Lead / Full Stack Developer
B2B Energy Platform
E.on is one of Europe's largest electric utility and energy companies.
EnergiePortal is a B2B platform for E.on subdiary companies. It allowed access and visualization to sensor data, energy consumption data and production data of millions of its customers.
Architecture
Microfrontends
Independent Team Modules
Frontend
Angular
Charts + Visualization
Backend
.NET
APIs + Automation
IoT
CosmosDB
Device Telemetry Ingestion
Problem Statement
E.on's subsidiary companies needed applications based on their custom needs. Some companies will need common features and some will need customized ones. A large monolithic project will be costly to maintain and develop as the repository grows larger. A single update on a feature of a subdiary tenant would mean an entire build and deployment of the whole ecosystem. I am proud of what the R&D has resulted and was happy with the challenge it took in the pre-AI era.
Key decisions
A centralized shell application
I presented and proposed a solution to the existing monolothic project to develop a shell application as a proof of concept. This shell application eventually became the current version and the monolithic app as the legacy. Each subdiary has single sign-on access, RBAC policies and only sees applications that they are subscribed to.
Microfrontends
A new idea can become its own application. Each application can have its own repository and a dedicated team maintaining it. The application when subscribed to by a subdiary company, is displayed to the shell application dashboard and loaded as a separate module on demand.
Charts and Visualizations
Built a D3 js library of charts and visualization to display millions of data points from sensor and smart meter data. Backend-for-Frontend was proposed and implemented to ingest and serve telemetry from CosmosDB via GraphQL.