Our Work
Smart Home Maintenance Platform
Connected Property & Maintenance Management
A collaborative academic platform connecting property records, maintenance requests, staff workflows and a desktop operations interface. A separate edge heartbeat view added visibility into connected-device status.
01 / Project overview
One place to coordinate property maintenance.
Property teams need a clear path from a reported issue to a completed repair. Requests, assigned staff, status changes and history can become difficult to follow when they are handled separately.
The academic platform brought these tasks into a JavaFX desktop application backed by focused Spring Boot services. Managers could review requests and assign maintenance staff; assigned staff could update progress, with status history retained by the Maintenance Service.
02 / System architecture
A desktop experience over focused services.
The JavaFX desktop application uses REST APIs and Spring Cloud Gateway to reach focused Spring Boot services. Eureka supports service discovery, while role checks govern relevant manager and maintenance-staff actions.
JavaFX application
Property, maintenance, notification and system-status views for role-aware workflows.
Spring Cloud Gateway
Routes desktop API requests to the corresponding backend services.
User Service
Login, user records and roles.
Property Service
Property records and manager associations.
Maintenance Service
Requests, assignment, status history and latest edge heartbeat.
Notification Service
Creates and retrieves notifications for maintenance events.
03 / Maintenance workflow
From request to recorded progress.
Request creation
A user creates a request for an existing property with a description and priority.
Manager review
A property manager sees requests for properties they manage and can filter the list.
Technician assignment
The manager assigns a maintenance staff member after role validation. The service attempts an assignment notification.
Status updates
Assigned staff move a request from open to in progress and then completed. The service attempts a status notification.
Maintenance history
Status transitions are recorded with the previous and new state, actor and time.
04 / Connected-device visibility
Monitoring information in the desktop view.
The Maintenance Service accepts an edge heartbeat containing device and property identifiers, status, temperature, humidity and time. It keeps the latest heartbeat in memory, and the JavaFX System Status view displays the latest available reading.
A separate maintenance workflow
The heartbeat interface provides device-status visibility. Maintenance requests are created, assigned and tracked through the dedicated request workflow.
05 / Engineering highlights
The decisions behind the workflow.
Separated responsibilities
User, property, maintenance and notification functions live in distinct Spring Boot services.
Role-aware actions
JWT and role checks protect relevant manager and maintenance-staff operations.
Traceable progress
The Maintenance Service enforces status transitions and records their history.
Desktop integration
JavaFX views call the backend APIs for property, request, notification and status information.
Event notifications
Assignment and status changes send notification requests to the Notification Service.
Edge status view
A separate heartbeat endpoint and desktop panel expose the latest received device reading.
06 / Technology
The project stack.
Desktop
Java, JavaFX
Services
Spring Boot, REST APIs
Routing and discovery
Spring Cloud Gateway, Eureka
Development data
H2 in-memory databases
Infrastructure configuration
Docker Compose, Kubernetes manifests
07 / Engineering outcome
A connected academic engineering system.
The completed project brings a JavaFX desktop interface, focused Spring Boot services, role-aware maintenance workflows and an edge heartbeat view together. Backend, API, security and JavaFX test files support the engineering work; Docker Compose configuration and Kubernetes manifests capture the infrastructure design.
Project attribution
Completed through collaborative academic engineering work. This was not a commissioned TK Software client project.
Have a project in mind?
Share the business problem or early idea you want to explore. We can help shape the scope together.
Plan your project