How ay2627s1-cs2103t-w13-2/tp works
ZoomAddress is a local desktop participant manager with typed, keyboard-driven commands. The principal workflow takes a command from the user through parsing and execution, changes or searches the participant model, and presents a result in the UI; local JSON storage preserves address-book and preference data. The README also describes group, role, and activity assignments, but those capabilities are not represented by the supplied source tree, so they are noted rather than mapped to invented components. Edges reflect the excerpts, source index, and README; unsampled UI and startup wiring is kept conservative.
Main entry points: LogicManager.java Logic manager · ModelManager.java Model manager · StorageManager.java Storage coordinator · CommandBox.java Command input
Components 19
Desktop UI
- Application startup
src/main/java/seedu/address/MainApp.java - Main window
src/main/java/seedu/address/ui/MainWindow.java - Command input
src/main/java/seedu/address/ui/CommandBox.java - Results and people
src/main/java/seedu/address/ui/ResultDisplay.java - UI coordinator
src/main/java/seedu/address/ui/UiManager.java
Command workflow
- Logic manager
src/main/java/seedu/address/logic/LogicManager.java - Command parser
src/main/java/seedu/address/logic/parser/AddressBookParser.java - Commands
src/main/java/seedu/address/logic/commands - Edit command
src/main/java/seedu/address/logic/commands/EditCommand.java
Participant model
- Model manager
src/main/java/seedu/address/model/ModelManager.java - Participant collection
src/main/java/seedu/address/model/AddressBook.java - Participant records
src/main/java/seedu/address/model/person/Person.java - Tags
src/main/java/seedu/address/model/tag/Tag.java - Groups, roles, activities
src/main/java/seedu/address/model
Local persistence
- Storage coordinator
src/main/java/seedu/address/storage/StorageManager.java - Address book JSON
src/main/java/seedu/address/storage/JsonAddressBookStorage.java - Preferences JSON
src/main/java/seedu/address/storage/JsonUserPrefsStorage.java
Other components
- Event director
- Local data files
Connections 21
- Event director → Command input: types commands
- Command input → Logic manager: submits input
- Logic manager → Command parser: parses input
src/main/java/seedu/address/logic/LogicManager.java - Command parser → Commands: creates command
src/main/java/seedu/address/logic/parser/AddressBookParser.java - Logic manager → Commands: executes command
src/main/java/seedu/address/logic/LogicManager.java - Edit command → Model manager: updates model
src/main/java/seedu/address/logic/commands/EditCommand.java - Commands → Model manager: operates on model
- Model manager → Participant collection: manages data
src/main/java/seedu/address/model/ModelManager.java - Participant collection → Participant records: stores records
src/main/java/seedu/address/model/AddressBook.java - Participant records → Tags: holds tags
src/main/java/seedu/address/model/person/Person.java - Logic manager → Storage coordinator: persists changes
- Storage coordinator → Address book JSON: delegates book I/O
src/main/java/seedu/address/storage/StorageManager.java - Storage coordinator → Preferences JSON: delegates prefs I/O
src/main/java/seedu/address/storage/StorageManager.java - Address book JSON → Local data files: reads and writes
src/main/java/seedu/address/storage/JsonAddressBookStorage.java - Preferences JSON → Local data files: reads and writes
- Application startup → UI coordinator: starts UI
src/main/java/seedu/address/MainApp.java - UI coordinator → Main window: creates window
src/main/java/seedu/address/ui/UiManager.java - Main window → Command input: hosts input
src/main/java/seedu/address/ui/MainWindow.java - Logic manager → Results and people: returns command result
- Model manager → Results and people: supplies participant view
- Event director → Groups, roles, activities: uses assignments