Pawsitively Social¶
Problem definition¶
Design and draw a database model for a hypothetical social media platform called “Pawsitively Social”. The main feature of the platform is connecting pet owners and helping them find new friends for their pets. Your task is to design a database model that can store information about users, their pets, and the connections between them. The model should be able to support the following functionality: • Users can create a profile for themselves and for each of their pets. A user’s profile should include their name, age, location, and a profile picture. A pet’s profile should include their name, breed, age, and a profile picture. (You can use a VARCHAR type to store the location of the profile picture) • Users can search for other users and their pets based on various criteria, such as location, breed, and age. • Users can send and receive friend requests to and from other users. If a friend request is accepted, the two users are considered friends and their pets are also considered friends. • Users can post updates, photos, and videos to their profile and their pets’ profiles. These updates can be liked and commented on by other users. Some possible entities in this database model are: • User: Stores information about a user, such as their name, age, location, and profile picture. • Pet: Stores information about a pet, such as their name, breed, age, and profile picture. • Friendship: Stores information about a friendship between two users. • Update: Stores information about an update (e.g. a post, photo, or video) made by a user or pet. • Comment: Stores information about a comment made on an update made by a user. • Like: Stores information about a like on an update made by a user.