How sev1r0us/hahahaha works
Unitrace is a console-based campus lost-and-found application. Admins log found items and review claims; students search items, report losses, submit ownership proof, and collect approved items. In-memory registry logic supports matching, claim-state transitions, and release receipts. The graph follows the documented console-to-registry flow and sampled registry behavior; some supporting modules are represented from the source index, so their internal connections are omitted where implementation details were not shown.
Main entry points: ItemRegistry.java Item registry · ConsoleUI.java Role menus · Item.java Found item lifecycle · ClaimRequest.java Claim request
Components 22
Console interaction
- Application entry
Unitrace/src/Main.java - Role menus
Unitrace/src/ConsoleUI.java - Console input
Unitrace/src/InputHelper.java - Admin guard
Unitrace/src/AdminGuard.java
Registry workflows
- Item registry
Unitrace/src/ItemRegistry.java - Claim processing contract
Unitrace/src/ClaimProcessor.java
Domain records
- Found item lifecycle
Unitrace/src/Item.java - Electronics item
Unitrace/src/Electronics.java - Personal belonging
Unitrace/src/PersonalBelonging.java - Student ID item
Unitrace/src/StudentIDCard.java - Lost report
Unitrace/src/LostReport.java - Match result
Unitrace/src/MatchResult.java - Claim request
Unitrace/src/ClaimRequest.java - Student account
Unitrace/src/Student.java
Domain support
- Item categories
Unitrace/src/ItemCategory.java - Item status
Unitrace/src/ItemStatus.java - Claim status
Unitrace/src/ClaimStatus.java - Text matching and display
Unitrace/src/TextUtil.java - Claim errors
Unitrace/src/InvalidClaimException.java - Status transition error
Unitrace/src/InvalidStatusTransitionException.java - Item not found error
Unitrace/src/ItemNotFoundException.java
Other components
- Student or admin
Connections 28
- Student or admin → Role menus: uses menus
Unitrace/src/ConsoleUI.java - Application entry → Role menus: starts
Unitrace/src/Main.java - Application entry → Item registry: provides registry
Unitrace/src/Main.java - Role menus → Item registry: requests operations
Unitrace/src/ConsoleUI.java - Role menus → Console input: reads input
Unitrace/src/ConsoleUI.java - Role menus → Admin guard: checks admin
Unitrace/src/ConsoleUI.java - Role menus → Text matching and display: formats output
Unitrace/src/ConsoleUI.java - Role menus → Lost report: creates report
Unitrace/src/ConsoleUI.java - Role menus → Claim request: displays claims
Unitrace/src/ConsoleUI.java - Item registry → Found item lifecycle: searches and updates
Unitrace/src/ItemRegistry.java - Item registry → Lost report: stores and matches
Unitrace/src/ItemRegistry.java - Item registry → Match result: creates results
Unitrace/src/ItemRegistry.java - Item registry → Claim request: creates and decides
Unitrace/src/ItemRegistry.java - Item registry → Claim processing contract: implements
Unitrace/src/ItemRegistry.java - Item registry → Student account: uses claimant records
Unitrace/src/ItemRegistry.java - Found item lifecycle → Item categories: uses category
Unitrace/src/Item.java - Found item lifecycle → Item status: validates transitions
Unitrace/src/Item.java - Electronics item → Found item lifecycle: extends
Unitrace/src/Electronics.java - Personal belonging → Found item lifecycle: extends
Unitrace/src/PersonalBelonging.java - Student ID item → Found item lifecycle: extends
Unitrace/src/StudentIDCard.java - Lost report → Student account: identifies reporter
Unitrace/src/LostReport.java - Claim request → Student account: identifies claimant
Unitrace/src/ClaimRequest.java - Claim request → Found item lifecycle: references item
Unitrace/src/ClaimRequest.java - Claim request → Claim status: tracks status
Unitrace/src/ClaimRequest.java - Item registry → Text matching and display: normalizes match text
Unitrace/src/ItemRegistry.java - Item registry → Claim errors: raises claim errors
Unitrace/src/ItemRegistry.java - Item registry → Status transition error: raises transition errors
Unitrace/src/ItemRegistry.java - Item registry → Item not found error: raises lookup error
Unitrace/src/ItemRegistry.java