Skip to content

Project for web engineering course

A Java Spring web platform for after-sales product management, covering serial-number batches, product registration and a support ticket workflow.

2023

A course project for Web Systems Engineering: a server-rendered Java Spring platform that handles the after-sales side of a product catalogue, getting products into customers’ accounts and getting their problems back out again.

What it does

  • Batch creation of serial numbers. An operator generates serial numbers in bulk for a given product rather than one at a time, which is what makes registration possible at all: the serial is the token that proves a customer owns a specific unit.
  • Product registration. A customer associates a serial number with their account and from then on sees only the products they actually own.
  • Support tickets. Each ticket is opened against a registered product, so a request arrives already carrying the context an operator would otherwise have to ask for.

How it is put together

A classic layered Spring application: controllers over services over a persistence layer backed by MySQL, with server-rendered views styled with Bootstrap. The three features are less independent than they look. The serial number is the join between all of them, and the schema was built around that relationship first.

What I would do differently

The interesting constraint was one I did not appreciate at the time: serial numbers are identifiers a customer types by hand, off a sticker. Generating them as a plain sequence made them trivial to guess, and a guessable serial means registering someone else’s product. Now I would make them non-sequential and add a check digit so a typo fails immediately instead of silently matching a different unit.