Architecture - SoenCapstone/GameOn GitHub Wiki

a. Architecture Layer

This is a digram of the architecture

System Block Diagram

Front-end and Back-end components

This diagram shows the various components for the front-end and back-end.

b. UML Class Diagram

User Domain – Class Diagram

The User domain is responsible for user management and authentication within the system.
It defines the data structures and logic for handling user creation, updates, retrieval, and synchronization with external authentication providers such as Clerk.


Overview

This diagram illustrates the main classes and relationships that define how user data flows through the system


Diagram


Team Domain – Class Diagram

The Team domain defines the structure and relationships for teams, players, and their interactions within the system.


Overview

This diagram shows how the team service manages entities like Team, Member, as well as how they connect to persistence and API layers.


Diagram


c. Interaction/Sequence Diagrams

General User Interaction Sequence

Generic interaction flow

This diagram shows the general sequence for a user's interaction with our app and how the request pipeline goes from the front-end to the back-end.

Sign Up Sequence Diagram

Sign In Sequence Diagram

Team Creation System Sequence Diagram

Team Search Sequence Diagram

Messaging - Direct Message Sequence Diagram

This diagram shows how two users exchange direct messages in real time using WebSockets, and how messages are persisted so they can be reloaded after refresh/reconnect.

Messaging - Team/Event Group Chat Sequence Diagram

This diagram shows how a team owner creates a group chat, how team members subscribe and exchange messages in real time, and how the isEvent=true rule locks membership from new additions.

Payment

Team Match

League Match


d. Use Case Diagrams

Messaging - Use Case Diagram

This diagram summarizes the messaging features supported: direct chat, team group chat, event chat constraints, and message history retrieval.


e. ER Diagram

This is the current design for entity-relationship diagram describing the futre plans for the systems.