🎯 Goal
Design a relational database schema for a simplified version of Twitter where users can:
-
Tweet, comment, like, and retweet
-
Send messages
-
Get notifications
-
Have a profile with category
🧱 Requirements
👤 User System
- A user should be able to register with a unique username and password.
- Each user has one profile (one-to-one).
- Each profile has a bio and a category (e.g., Influencer, Entrepreneur, etc.).
🐦 Tweets
- A user can post many tweets (one-to-many).
- Each tweet belongs to exactly one user.
- A tweet can be liked, commented on, and retweeted.
💬 Comments
- A comment belongs to both a user and a tweet.
- A user can post multiple comments on a tweet.
- Comments can also receive likes.
❤️ Likes