Windtower Editor

Role / Services

  • Full-stack development

Context

  • Distributed system

Location & year

  • Hungary ©

Overview

One source of truth for wind tower data.

Windtower Editor unifies the handling of wind turbine and measurement data across several client applications. The data had been spread across tools, with inconsistent representations, delayed updates and business logic duplicated in each client.

The system centralizes CRUD operations, real-time synchronization and analytics in a single backend that every client consumes.

Four clients

  • WPF desktop

    An MVVM desktop application for operational and administrative work.

  • Angular SPA

    A reactive web interface built on the REST API.

  • JavaScript client

    A lightweight client for minimal or embedded environments.

  • Console app

    A menu-driven CLI for CRUD and statistical operations.

Windtower Editor county management table with Hungarian counties and their regions
Reference data: the counties where towers are built.

Architecture

Business logic lives in the backend. Clients only present.

An ASP.NET Core Web API is the single integration point. Domain rules, validation and analytics, such as time-series averages and derived metrics, sit in dedicated backend services, so no client can drift from the others.

SignalR pushes each change to all connected clients as it happens instead of relying on polling, with a structured event model that keeps update flows consistent.

Engineering decisions

  • Two database modes

    Entity Framework Core runs against SQL Server in production and an in-memory database for tests and development, without changes to core logic.

  • Testable by design

    Dependency injection and abstractions allow isolated unit tests of the business logic with mocked dependencies.

  • Stateless API

    Clients are decoupled consumers of the API and its events, so new clients can be added without touching the core.

Technologies

  • ASP.NET Core Web API
  • SignalR
  • Entity Framework Core
  • SQL Server
  • Angular
  • WPF (MVVM)
  • JavaScript
  • .NET Console
  • Unit testing