About
Fitcheck is a Java-based point of sale (POS) system designed for clothing retail businesses. It's a command-line application that supports two types of users: members (customers) and staff. Members can browse available clothing items, place orders with multiple items, pay either in full or through installments with interest, earn and redeem loyalty points across a tiered rewards system (Bronze through Platinum), review their purchase history, and request refunds. Staff members can manage inventory by adding, updating, and deleting items, track stock levels and movements, review payment transactions, handle customer accounts, and generate sales and stock reports.
The project is a refactored version of a legacy system, rebuilt around a Model-View-Controller architecture with clearly separated layers for the user interface, business logic, data access, and domain models. Data is persisted using CSV text files rather than a database. It's built with Maven and Java 20, and includes a comprehensive test suite using JUnit 5 and Mockito, with code coverage tracked by JaCoCo (reported at around 94%).
My contribution
I worked primarily on the Item module of the legacy_system project, handling both its core functionality and its test coverage. On the functionality side, I refactored the module using Java streams, introduced enums for the menu, and standardized exception handling with constants, along with making ArrayList and constant file changes. I added logging and a prompt cancel feature, improved informational output, renamed functions, split the item control into separate DAO and boundary tests, and cleaned things up by removing redundant and unused methods. A large part of my effort went into testing, where I wrote and updated ItemUtil and ItemTest cases, added boundary tests, improved overall test coverage, and removed low-value or trivial test cases while fixing various test errors. I also made assorted smaller contributions like UI adjustments, fixing warnings, updating javadocs, resolving edge cases, and regularly merging in changes from the master branch throughout the work.
- eedf08eRemove redundant edge case7mo ago
- 48af954Solve test case error7mo ago
- 3d1841dMerge branch 'master' of https://github.com/zxuan1234/legacy_system7mo ago
- 8e6e397Test coverage updates7mo ago
- 1b0b722Final updates7mo ago
- 8b2aa5cImprovement7mo ago
- e3d3dfcSolve errors7mo ago
- cfbb5acMerge branch 'master' of https://github.com/zxuan1234/legacy_system7mo ago
- 3b26f9fItemUtil test case updates + javadoc updates7mo ago
- 0769dc1Test improve coverage7mo ago
- eceec3fRemove redundant method7mo ago
- 2785180UI adjust7mo ago
- 54210caRemove unused method7mo ago
- 35938e3Merge branch 'master' of https://github.com/zxuan1234/legacy_system7mo ago
- 7792fb6minor changes7mo ago
- c9fe6e6minor changes7mo ago
- ca2d49bBoundary minor test7mo ago
- e51a016"RAD" kinda item boundary test fix7mo ago
- e07d884Add informational output7mo ago
- bbd5aa6remove trivial test case7mo ago
- c7c1487aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa7mo ago
- 76b32fbaaaaaaaaaaaaaaaaaaaaaaaaa7mo ago
- 52f0c7caaaaaaaaaa7mo ago
- 9fa73dcenhancementtttt7mo ago
- 2616f3fupdates agaiinnn7mo ago
- e30b281Merge branch 'master' of https://github.com/zxuan1234/legacy_system7mo ago
- b6ab31aImprove test coverage7mo ago
- 2bb3322Fix updateeeeee7mo ago
- 3cb2055test case fix7mo ago
- 1582a90Merge branch 'master' of https://github.com/zxuan1234/legacy_system7mo ago
- 342f83fGap enhancement7mo ago
- ddf0690Still minor changes7mo ago
- b983b80Minor fixes7mo ago
- 8029f3cFunctions name updates7mo ago
- daaf3d0Item Module updates7mo ago
- 187f552Test case updates7mo ago
- 3d65ed4Merge branch 'master' of https://github.com/zxuan1234/legacy_system7mo ago
- 57413a5ItemTest remove low-value test case7mo ago
- 0f76d5fRemove redundant test case7mo ago
- 9f0da7cMerge branch 'master' of https://github.com/zxuan1234/legacy_system7mo ago
- cf82e9cItemControl Fix7mo ago
- ba51fb3Split item control test to dao test and boundary test7mo ago
- bc07465temp comment7mo ago
- 67bf811Merge branch 'master' of https://github.com/zxuan1234/legacy_system7mo ago
- 9389a84Minor Fix7mo ago
- 5784a39Fix7mo ago
- c4d4d04Merge remote-tracking branch 'origin/master'7mo ago
- deef589Fix warnings7mo ago
- 6c114e8Item Module Test Cases7mo ago
- 4a26490Fix error7mo ago
- 29a5a3dItem Module - logger + prompt cancel7mo ago
- 1a5d112Merge branch 'master' of https://github.com/zxuan1234/legacy_system7mo ago
- 6b59590Item Module java stream + enum for menu + constant exception handling7mo ago
- fae0cd4Item Enhancement7mo ago
- 51f18bfArraylist and Constant file changes done7mo ago