Application design and use cases
The RDBMS backend of the application consisted of the core tables given in the following screenshot:
The signed-up user's details are captured in the User
table. When a given user establishes a connection with other users, their relationship is captured in the Connection
table. When a user posts a message, it is captured in the Post
table. When a message is posted, the users from the message owners' connection list can like the message post, and this detail is captured in the UserLike
table. The cardinality of the relationships is also captured in the preceding screenshot.
The biggest problem the application faced was in displaying the contents in the home page of the application. The number of users was high, the number of connections each users had was high, and the table joins required to prepare the records was complex. The performance of the home page that contained recent message posts from all the connections of the signed-in users had to be...