Sprint 3 Logical View Class Diagrams - Fatima-Essa/Wits-Social-SDP GitHub Wiki

In the below class diagram it can be seen that for out User table we have allocated a unique userID per user which is stored as a record with the users username, email, full name (which can be altered/changed as per the users request), as well as a list of all users followed by the account and following the account. Furthermore, this Users table is then linked to 3 other tables via the userID.

The 4 tables being for bio, posts, profile pictures and saved posts.

  1. The Bio table stores the default bio if it has not yet been changed by the user. However, if it has been changed the table will then store the newly updated bio as per the users creation.

  2. The ProfilePicture table stored the uri for selected profile pic allowing for it to be displayed and/or changed.

  3. The Posts table stored all the data required for a user post as well as its relevant interactions. It store the images uri, the caption, the amount of likes and all comments on a specific post.

  4. The SavedPosts table stored all the data in regards to a users saved posts. It stores the users ID and the saved posts ID. This is then linked to the posts table where the relevant posts information can be read and retrieved.

Class Diagram drawio