Vehicle Weighing System – Fullstack Developer

The project was about enhancing and modernizing a truck scale system to improve operational efficiency and data accuracy. New features — including traffic-light control, extended weighing data, and updated receipt generation — streamlined operations for end users. Extensive refactoring reduced maintenance overhead, clarified data models, and increased test coverage, enabling faster, more reliable feature delivery.

S – Situation

Customer’s product development team needed a full‑stack developer to advance the truck scale system. The initial team comprised one developer/architect from the client and a Product Owner; as the project progressed, a couple of customer’s own developers joined.

T – Task

  • Building new features: Implement traffic‑light status monitoring and control in the React user interface; add new fields to weighing data (license plate number, additional info) and display them on receipts and in the reporting interface.
  • Extensive refactoring: Remove old, unused code modules and projects and simplify the structure of DTO classes.
  • Integrations & architecture: Ensure seamless data flow between MQTT messaging, the C++/Qt backend and the React frontend.
  • Quality assurance: Write unit tests, integration tests and UI unit tests.

A – Actions

Feature development

  • Built a traffic‑light control and status monitoring module in React that communicates with the C++/Qt backend via an MQTT bus.
  • Added a license plate number and other new fields to the weighing data and updated the receipt and reporting UI to display these details.

Refactoring

  • Removed years‑old redundant code blocks and introduced a library to simplify DTO structures.

Test automation

  • Wrote an extensive suite of unit and integration tests for the backend as well as unit tests for React components on the frontend.

Process support

  • Facilitated the team’s retrospectives and, together with the Scrum Master, carried forward improvement suggestions—some were escalated to the CEO when broader process changes were needed.

R – Results

  • Features & quality: Delivered three key new features (traffic‑light control, extended weighing data fields and updated receipt generation) on schedule and without critical bugs in production.
  • Code clarity: After refactoring, DTO models were clearer and test coverage increased, accelerating the development of new features; removing unnecessary code significantly reduced the amount of code requiring maintenance.
  • Teamwork & processes: Regular retrospectives produced concrete improvement ideas. The Scrum Master escalated these to upper management when necessary, ensuring that important process improvements were addressed at the right level.

Tools & Technologies

  • Languages & Frameworks: Java, Spring Boot, TypeScript, React, C++/Qt, AngularJS
  • APIs & Testing: REST, WebSockets, MQTT; JUnit, Mockito, Jest, Qt Test, Spock
  • DevOps: Docker, GitHub, Jenkins
  • Database: Couchbase
  • Collaboration: Trello, Reetro