← All work

Client work · code private, write-up public · 2025

ShowerConfig

A Java desktop application built for a shower-cabin manufacturer. It walks a salesperson through the configuration, computes the bill of materials and the price, and exports the quote as a PDF. It replaced a spreadsheet and is in daily use.

In userunning daily at the manufacturer it was built for
  • Java
  • Swing
  • MySQL
  • PDF export
  • BNR exchange-rate API

The job

Quoting a custom shower cabin means knowing which hinges that model takes, how many handles, which profiles and at what lengths, then measuring the glass, applying the surcharges, converting from euro at today's rate and writing it all up. Done by hand it is slow and it is wrong often enough to matter.

The application follows the sale as it actually happens: a step navigator drives the flow and the path adapts to the product — a hinged cabin branches into sub-types, a fixed panel goes straight to dimensions.

The cabin type is the pivot

This is the core of the tool. Each model the shop sells has a known recipe of hardware, and every model is described by an object that groups its hardware by category and stores the profile lengths. Choosing the model preselects every piece with the right quantity, and the salesperson only adjusts the exceptions.

The same description is reused downstream, so the choice made in step one still governs how the glass is cut and how the price is assembled in step five. Nobody re-enters anything.

Glass, price and the exchange rate

Dimensions produce the surface area and perimeter of every glass panel individually, because that is what the surcharges attach to: grinding, drilling, extra cut-outs, shape and template work, tempering.

The price calculator sums glass, hardware and profiles, then applies the current RON rate pulled live from the National Bank of Romania's API — the quote is in the currency the customer pays in, at today's rate, not at whatever was hard-coded last year. The result exports as a PDF offer.

Keeping it current without me

A login-gated admin panel lets the business edit the catalogue itself: add and remove products, change elements, adjust prices and settings. Product ranges change and prices change more often, and a tool that needs a developer for either would have been abandoned within a year.