{"id":26865731,"url":"https://github.com/vickshan001/catshop-java-multi-client-retail-system","last_synced_at":"2025-08-21T08:06:48.994Z","repository":{"id":285142745,"uuid":"957187909","full_name":"vickshan001/Catshop-Java-Multi-Client-Retail-System","owner":"vickshan001","description":"Java-based multi-window retail app modified in 2021 for CI553. Includes quantity merging, sorting, sounds, GUI enhancements, and JUnit testing.","archived":false,"fork":false,"pushed_at":"2025-03-29T19:20:37.000Z","size":9714,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T20:24:22.244Z","etag":null,"topics":["eclipse","github-integration","java","javaproject","junit","multi-client","oop","retail-system","uml"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vickshan001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-29T19:01:19.000Z","updated_at":"2025-03-29T19:21:38.000Z","dependencies_parsed_at":"2025-03-29T20:34:30.611Z","dependency_job_id":null,"html_url":"https://github.com/vickshan001/Catshop-Java-Multi-Client-Retail-System","commit_stats":null,"previous_names":["vickshan001/catshop-java-multi-client-retail-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vickshan001%2FCatshop-Java-Multi-Client-Retail-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vickshan001%2FCatshop-Java-Multi-Client-Retail-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vickshan001%2FCatshop-Java-Multi-Client-Retail-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vickshan001%2FCatshop-Java-Multi-Client-Retail-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vickshan001","download_url":"https://codeload.github.com/vickshan001/Catshop-Java-Multi-Client-Retail-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246414200,"owners_count":20773225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eclipse","github-integration","java","javaproject","junit","multi-client","oop","retail-system","uml"],"created_at":"2025-03-31T04:23:23.389Z","updated_at":"2025-03-31T04:23:24.047Z","avatar_url":"https://github.com/vickshan001.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛒 Catshop – Java Multi-Client Retail System (CI553, 2021)\n\nA multi-window Java retail application enhanced for the **CI553 module** at the University of Brighton in **2021**. The original Catshop project was forked and expanded with new functionality such as product quantity merging, GUI improvements, sounds, sorting features, and full JUnit testing.\n\n🔗 GitHub repository: [2021-CI553-catshop](https://github.com/vickshan001/2021-CI553-catshop)\n\n---\n\n## 📦 Project Overview\n\nCatshop is a simulated retail system with multiple interfaces:\n\n- Customer Client  \n- Cashier Client  \n- BackDoor Client  \n- Pick Client  \n- Display Client  \n- Collect Client  \n\nCustomers can:\n- Browse items by product ID\n- View quantity and price\n- Place or remove orders\n- Receive unique order numbers\n- Collect items when ready\n\n---\n\n## 🛠 Tools \u0026 Setup\n\n- **Eclipse IDE** – used after IntelliJ failed to run the provided code\n- **Git \u0026 GitHub** – for cloning and version control\n- **WhiteStar UML** – used for modeling Use Case \u0026 Sequence Diagrams\n- **JUnit** – for automated unit testing\n- **JavaDoc** – for project documentation\n\n---\n\n## 🚀 Features Added\n\n### 🔁 Merge Quantity of Same Products\nWhen the same product is added again, the quantity increases rather than creating a duplicate entry in the basket.\n\n### 🎨 GUI Button Enhancements\nMouse hover effects added using `MouseListener` and button colors to improve UX.\n\n### 🔊 Added Sound Effects\nCustom sound class plays sounds on key interactions using a designated `/sound` folder.\n\n### 🔢 Sort Basket by Product ID\nImproved order display by sorting items by their ID in the `BetterBasket` class.\n\n### 🗑 Remove Button\nImplemented `removeItem` functionality allowing customers to remove specific items by product ID.\n\n---\n\n## 🧪 Testing\n\n- Implemented **JUnit** tests for key features.\n- Verified GUI behaviors and core logic independently.\n\n---\n\n## 📐 UML Diagrams\n\n- ✅ Use Case Diagram  \n- ✅ Customer \u0026 Cashier Client Sequence Diagrams\n\nCreated using WhiteStar UML.\n\n---\n\n## 📄 Documentation\n\n- Generated using **JavaDoc plugin** in Eclipse for method-level documentation.\n\n---\n\n## 👨‍💻 Developed By\n\n**Vickshan Vicknakumaran**  \nCI553 – Software Development Practice  \nUniversity of Brighton | 2021\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvickshan001%2Fcatshop-java-multi-client-retail-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvickshan001%2Fcatshop-java-multi-client-retail-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvickshan001%2Fcatshop-java-multi-client-retail-system/lists"}