An implementation of a simplified social media platform that uses graph and tree data structures to manage social networks, post interactions, and user feeds. This project aims to build a social media platform, combining cloud storage, networking, and social features in one. It integrates various functionalities in three stages, such as friend networks, post creation, reposting, and a social feed.
- Establish a bi-directional connection between two users.
- Break the connection between two users.
- Calculate the shortest path (friendship chain) between two users.
- Provide friend suggestions based on mutual connections.
- Show mutual friends between two users.
- Find the most popular friend (one with the most connections).
- Users can create posts with titles and unique IDs.
- Users can repost content from others, which can also be reposted further.
- Users can like or dislike posts and reposts.
- Determine if a repost has more likes than the original post (ratio).
- Delete posts or reposts with cascading effects.
- Display the number of likes for a post/repost.
- Show the entire repost chain for a post.
- Display the latest posts of a user and their friends.
- Display all posts and reposts of a user.
- List friends who reposted a given post.
- Find the largest group of friends who are all interconnected.