From 65889158b9a1ce501f2da2dd91deac1d256c2a93 Mon Sep 17 00:00:00 2001 From: Alex Fischer <183024988+SuperGamer001@users.noreply.github.com> Date: Tue, 27 Jan 2026 15:26:05 -0800 Subject: [PATCH 1/5] Added 3/4 of the crc card --- docs/analysis/crc-cards.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 docs/analysis/crc-cards.md diff --git a/docs/analysis/crc-cards.md b/docs/analysis/crc-cards.md new file mode 100644 index 0000000..27f23fb --- /dev/null +++ b/docs/analysis/crc-cards.md @@ -0,0 +1,37 @@ +## Conversation + +**Responsibilities** +- Holds and receives messages sent by participants +- Keeps together replied messages and attachments +- Informs users on which message the user last read. + +**Collaborators** +- User +- Message +- InterWebSocket + + +## InterWebSocket + +**Responsibilities** +- Updates users in real time when a message, letter, invite, etc. shows up. +- Updates player info in Online Multiplayer Games. + +**Collaborators** +- User +- Conversation +- Notification (Inbox) + + +## Message + +**Responsibilities** +- Holds text info on the current message +- Keeps track of who sent the message and the date when it was sent + +**Collaborators** +- Conversation +- User + + +## ??? \ No newline at end of file From f7a3cbf03e2da78947f2d51fb511cf83f387f781 Mon Sep 17 00:00:00 2001 From: Alex Fischer <183024988+SuperGamer001@users.noreply.github.com> Date: Tue, 27 Jan 2026 15:30:40 -0800 Subject: [PATCH 2/5] Added Notifications to CRC Cards --- docs/analysis/crc-cards.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/analysis/crc-cards.md b/docs/analysis/crc-cards.md index 27f23fb..c1c23fe 100644 --- a/docs/analysis/crc-cards.md +++ b/docs/analysis/crc-cards.md @@ -34,4 +34,14 @@ - User -## ??? \ No newline at end of file +## Notification (Inbox) + +**Responsibilities** +- Contains information about what's in the message +- Tracks who sent it and when +- Holds possible rewards that can be obtained + +**Collaborators** +- User +- Conversation +- Friend \ No newline at end of file From c0b691189e82887884ed3777ccd2f7e25c51e4b2 Mon Sep 17 00:00:00 2001 From: Alex Fischer <183024988+SuperGamer001@users.noreply.github.com> Date: Mon, 9 Feb 2026 15:03:39 -0800 Subject: [PATCH 3/5] (COPILOT REVIEW EDITS) Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/analysis/crc-cards.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/docs/analysis/crc-cards.md b/docs/analysis/crc-cards.md index c1c23fe..0ea3791 100644 --- a/docs/analysis/crc-cards.md +++ b/docs/analysis/crc-cards.md @@ -2,20 +2,20 @@ **Responsibilities** - Holds and receives messages sent by participants -- Keeps together replied messages and attachments -- Informs users on which message the user last read. +- Maintains relationships between messages, their replies, and attachments +- Coordinates with read status tracking to determine which message each user last read. **Collaborators** - User - Message -- InterWebSocket +- WebSocket -## InterWebSocket +## WebSocket **Responsibilities** - Updates users in real time when a message, letter, invite, etc. shows up. -- Updates player info in Online Multiplayer Games. +- Handles real-time chat events such as typing indicators and read status updates. **Collaborators** - User @@ -39,9 +39,22 @@ **Responsibilities** - Contains information about what's in the message - Tracks who sent it and when -- Holds possible rewards that can be obtained +- Holds any associated package content or additional data **Collaborators** - User - Conversation -- Friend \ No newline at end of file +- Friend + + +## Friend + +**Responsibilities** +- Represents a friendship relationship between users +- Stores friendship status and metadata (for example, when the friendship was created) +- Supports friend-related actions such as sending and responding to friend requests + +**Collaborators** +- User +- Notification (Inbox) +- Conversation \ No newline at end of file From 748c10453d2103f2435b97fd2bad2af932f61288 Mon Sep 17 00:00:00 2001 From: Alex Fischer <183024988+SuperGamer001@users.noreply.github.com> Date: Wed, 18 Feb 2026 11:30:39 -0800 Subject: [PATCH 4/5] Added Features and Usecases file --- docs/analysis/features-and-usecases.md | 71 +++++++++++++++++++++++++ docs/analysis/use-case-diagram.png | Bin 0 -> 68698 bytes 2 files changed, 71 insertions(+) create mode 100644 docs/analysis/features-and-usecases.md create mode 100644 docs/analysis/use-case-diagram.png diff --git a/docs/analysis/features-and-usecases.md b/docs/analysis/features-and-usecases.md new file mode 100644 index 0000000..ff0316e --- /dev/null +++ b/docs/analysis/features-and-usecases.md @@ -0,0 +1,71 @@ +# Features and Use Cases + +## Features +- Register +- Maintain WS connections +- Online Activities +- Inbox Messages +- Game Library +- Search +- Friends +- Achievement system +- Toast Notifications + +... + +## Brief Use Cases + +### UC1: User creates an account +- Primary Actor: New user +- Goal: User successfully creates and registers his account. + +### UC2: User plays a game +- Primary Actor: User +- Goal: User opens an available game and plays. + +### UC3: User plays online +- Primary Actor: Registered User +- Goal: User connects to online services and plays online game. + +### UC4: System sends an inbox letter to user +- Primary Actor: System +- Goal: System sends a letter to the user's inbox + +### UC5: System alerts user of achievement +- Primary Actor: System +- Goal: System alerts user when he has completed an achievement. + +### UC6: User views the Game Library +- Primary Actor: User +- Goal: User receives the site's library of games + +### UC7: User searches for a specific game, genera, etc. +- Primary Actor: User +- Goal: User receives the results of his search + +### UC8: User becomes friends with another user +- Primary Actor: Registered User +- Goal: The registered user becomes friends with another user and can chat and play online together. + + + +... + +## Use Case Traceability + +| Use Case | Feature(s) | +|---|---| +| UC1: User creates an account | Register | +| UC2: User plays a game | Game Library, WS connections | +| UC3: User plays online | Register, Online Activities, Game Library, WS connections | +| UC4: System sends an inbox letter to user | Register, Inbox Messages | +| UC5: System alerts user of achievement | Register, Achievement system, Toast Notifications | +| UC6: User views the Game Library | Game Library | +| UC7: User searches for a specific game, genera, etc. | Game Library, Search | +| UC6: User becomes friends with another user | Register, Online Activities, Friends | +... + +## Use Case Diagram +Here is my diagram built with PlantUML (AI assisted, so it might not look the greatest) + +![Use Case Diagram](use-case-diagram.png) \ No newline at end of file diff --git a/docs/analysis/use-case-diagram.png b/docs/analysis/use-case-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..4e4cf21490752e9066540d4d166a4f497978f160 GIT binary patch literal 68698 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 UJ}=+2klzjL=j0IA*KN`N0T$IQ8UO$Q literal 0 HcmV?d00001 From 2995fab8a98d0b123fe6cf2af1a097a5e0507238 Mon Sep 17 00:00:00 2001 From: Alex Fischer <183024988+SuperGamer001@users.noreply.github.com> Date: Wed, 18 Feb 2026 11:37:44 -0800 Subject: [PATCH 5/5] Fix typos in use case descriptions --- docs/analysis/features-and-usecases.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/analysis/features-and-usecases.md b/docs/analysis/features-and-usecases.md index ff0316e..f56766f 100644 --- a/docs/analysis/features-and-usecases.md +++ b/docs/analysis/features-and-usecases.md @@ -39,7 +39,7 @@ - Primary Actor: User - Goal: User receives the site's library of games -### UC7: User searches for a specific game, genera, etc. +### UC7: User searches for a specific game, genre, etc. - Primary Actor: User - Goal: User receives the results of his search @@ -61,11 +61,11 @@ | UC4: System sends an inbox letter to user | Register, Inbox Messages | | UC5: System alerts user of achievement | Register, Achievement system, Toast Notifications | | UC6: User views the Game Library | Game Library | -| UC7: User searches for a specific game, genera, etc. | Game Library, Search | -| UC6: User becomes friends with another user | Register, Online Activities, Friends | +| UC7: User searches for a specific game, genre, etc. | Game Library, Search | +| UC8: User becomes friends with another user | Register, Online Activities, Friends | ... ## Use Case Diagram Here is my diagram built with PlantUML (AI assisted, so it might not look the greatest) -![Use Case Diagram](use-case-diagram.png) \ No newline at end of file +![Use Case Diagram](use-case-diagram.png)