Final Class Diagram - bounswe/bounswe2024group4 GitHub Wiki

classDiagram
    class User {
        +int ID
        +string email
        +string username
        +string password
    }
    class UserProfile {
        +string profilePicture
        +string bio
    }
    class Post {
        +int ID
        +string title
        +string content
        +string pictureURL
        +datetime timestamp
    }
    class Comment {
        +int ID
        +string content
        +datetime timestamp
    }
    class Like {
        +int ID
    }
    class TeamPage {
        +string teamName
        +string conference
        +string division
        +string coach
        +string stadium
        +float venueLatitude
        +float venuelongitude
    }
    class PlayerPage {
        +string playerName
        +list teamsPlayedForWithYears
        +list positions
        +int height
        +date dateOfBirth
        +string socialMediaAccount
    }
    class Bookmark {
        +int ID
        +datetime bookmarkedOn
    }
    class PostFeed {
        -- Aggregates posts
    }

    User "1" --> "1" User : follows
    User "1" --> "1" UserProfile : has
    User "1" --> "*" Post : creates
    User "1" --> "*" Comment : writes
    User "1" --> "*" Like : gives
    User "1" --> "*" Bookmark : bookmarks
    Bookmark "1" --> "1" Post : refers_to
    Post "1" --> "*" Comment : includes
    Post "1" --> "*" Like : receives
    Comment "1" --> "*" Like : receives
    TeamPage "1" --> "*" PlayerPage : includes
    PlayerPage "*" --> "1" TeamPage : plays_for