
F-POS
Academic prototype · Partially implemented
What it was
F-POS is an academic point-of-sale MVP built in Java with JavaFX by a four-person team. The prototype covers product management, cart creation, tax calculation, simulated cash and card payments, receipts, and basic sales administration.
What I owned
My contribution focused on the Produit, Panier and ElementPanier domain models, their unit tests, the cashier interface, and the administrative product-management interface.
The hard part
One of the main challenges was keeping monetary calculations consistent without any persistent storage. Each cart item keeps a reference to its product while capturing the unit price at the moment it is added, so a quantity can change without altering that cart line's original price. Monetary values use BigDecimal, and taxable and non-taxable products are handled separately.
Application state lives in a MockDB singleton, with controllers going through services and DAOs rather than touching it directly. Screens rebuild their services as the user navigates, so there is no reactive synchronisation between two open screens.
What I would do differently
The project remains an incomplete MVP. A production-oriented version would replace the in-memory database with SQLite, centralise tax configuration, validate stock before accepting payment, and complete the refund, register-session and sales-search workflows.

