Course Content
Data Structures & Algorithms
Full Stack Web Development
Understanding and playing with DOM (Document Object Model)
0/2
MERN project
0/2
Low Level System Design
LLD Topics
High Level System Design
Fast-Track to Full Spectrum Software Engineering
1. User Authentication APIs

These APIs are used to manage user login and authentication, ensuring secure access to the system.

 

POST /api/login

 

  • Purpose: Allows users to log in to the system.
  • Input: Username, password.
  • Output: JWT token or session ID for the authenticated user.
  • Example Response:
{ "token": "abc123xyz456", "user_id": "12345" }

 

POST /api/signup

 

  • Purpose: Registers a new user.
  • Input: Username, email, password, and other profile information.
  • Output: Confirmation message or error.
  • Example Response:
{ "message": "User created successfully", "user_id": "12345" }

 

POST /api/logout

 

  • Purpose: Logs the user out by invalidating the session.
  • Input: JWT token or session ID.
  • Output: Confirmation message.
  • Example Response:
{ "message": "User logged out successfully" }


2. Newsfeed APIs

These APIs are responsible for fetching and displaying newsfeed content for the user. They should be optimized to ensure minimal latency and maximum relevance in content delivery.

 

GET /api/newsfeed

 

  • Purpose: Retrieves the user’s newsfeed, including recent posts, interactions, and updates.
  • Input: User ID, optional filters (e.g., category, hashtags).
  • Output: A list of posts (or content) along with associated metadata (likes, comments, shares).
  • Example Response:
{
"posts": [
{
"post_id": "1",
"content": "Here's my new post!",
"user_id": "123",
"timestamp": "2025-04-01T10:00:00Z",
"likes": 500,
"comments": 10,
"shares": 20
},
{
"post_id": "2",
"content": "Another update...",
"user_id": "124",
"timestamp": "2025-04-01T10:05:00Z",
"likes": 300,
"comments": 5,
"shares": 15
}
]
}

 

GET /api/newsfeed/trending

 

  • Purpose: Retrieves the most trending posts or topics.
  • Input: User location, time period (e.g., today, this week).
  • Output: List of trending posts/topics.
  • Example Response:
{
"trending_posts": [
{ "post_id": "1001", "content": "Breaking news on the elections!", "likes": 5000 },
{ "post_id": "1002", "content": "Amazing vacation spot!", "likes": 4500 }
]
}

 

POST /api/newsfeed/refresh

 

  • Purpose: Refreshes the newsfeed to fetch new content since the last check.
  • Input: User ID, timestamp (last checked).
  • Output: A list of new posts.
  • Example Response:
{
"new_posts": [
{ "post_id": "12", "content": "Updated newsfeed content!" }
]
}


3. Post Interaction APIs

These APIs manage user interactions with posts, such as liking, commenting, or sharing.

 

POST /api/like

 

  • Purpose: Allows a user to like a post.
  • Input: User ID, post ID.
  • Output: Updated like count for the post.
  • Example Response:
{ "post_id": "12345", "likes_count": 101 }

 

POST /api/comment

 

  • Purpose: Allows a user to comment on a post.
  • Input: User ID, post ID, comment content.
  • Output: Updated comments list for the post.
  • Example Response:
{
"post_id": "12345",
"comments": [
{ "comment_id": "987", "user_id": "54321", "content": "Great post!" }
]
}

 

POST /api/share

 

  • Purpose: Allows a user to share a post.
  • Input: User ID, post ID, sharing options (e.g., share on feed, share to another user).
  • Output: Updated share count for the post.
  • Example Response:
{ "post_id": "12345", "shares_count": 50 }

 

4. Content Creation APIs

These APIs allow users to create and upload new posts.

 

POST /api/create-post

 

  • Purpose: Allows a user to create a new post (text, image, video, etc.).
  • Input: User ID, content (text or multimedia), metadata (e.g., hashtags).
  • Output: Confirmation message and post ID.
  • Example Response:
{ "message": "Post created successfully", "post_id": "98765" }

 

POST /api/upload-media

 

  • Purpose: Uploads media (images, videos) associated with a post.
  • Input: User ID, media file (image/video).
  • Output: Media URL or ID.
  • Example Response:
{ "media_url": "https://cdn.example.com/media/98765.jpg" }

 

5. Notification APIs

These APIs handle real-time notifications for the user related to interactions on their posts, new content, etc.

 

GET /api/notifications

 

  • Purpose: Retrieves all notifications for a user (e.g., likes, comments, mentions).
  • Input: User ID.
  • Output: List of notifications.
  • Example Response:
{
"notifications": [
{ "notification_id": "1", "message": "Your post was liked!", "timestamp": "2025-04-01T12:00:00Z" },
{ "notification_id": "2", "message": "New comment on your post!", "timestamp": "2025-04-01T12:05:00Z" }
]
}

 

POST /api/mark-read

 

  • Purpose: Marks notifications as read.
  • Input: User ID, notification IDs.
  • Output: Confirmation message.
  • Example Response:
{ "message": "Notifications marked as read" }

 

6. Search APIs

These APIs are used for searching posts, users, hashtags, or topics.

 

GET /api/search

 

  • Purpose: Searches for posts, users, or hashtags based on a query.
  • Input: Query string (e.g., “#vacation”), search type (posts, users, hashtags).
  • Output: Search results.
  • Example Response:
{
"posts": [
{ "post_id": "123", "content": "Check out my amazing vacation spot!", "likes": 200 }
],
"users": [
{ "user_id": "456", "name": "John Doe", "profile_pic": "url.jpg" }
]
}

 

7. Analytics APIs

These APIs collect and return various analytics related to posts and interactions.

 

GET /api/analytics/post

 

  • Purpose: Retrieves analytics (e.g., likes, shares, comments) for a specific post.
  • Input: Post ID.
  • Output: Post analytics.
  • Example Response:
{
"post_id": "12345",
"likes": 500,
"comments": 20,
"shares": 30
}

 

GET /api/analytics/user

 

  • Purpose: Retrieves the user’s overall activity statistics (e.g., total posts, total likes).
  • Input: User ID.
  • Output: User analytics.
  • Example Response:
{
"user_id": "12345",
"total_posts": 100,
"total_likes": 5000,
"total_comments": 200
}
0% Complete
WhatsApp Icon

Hi Instagram Fam!
Get a FREE Cheat Sheet on System Design.

Hi LinkedIn Fam!
Get a FREE Cheat Sheet on System Design

Loved Our YouTube Videos? Get a FREE Cheat Sheet on System Design.