Skip to content

Abdelilah-99/SocialNetwork

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

256 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API Documentation

Authentication

  • POST /auth/signup → Register a new user
  • POST /auth/login → Log in the user
  • POST /auth/logout → Log out the user
  • GET /auth/status → Check if logged in
  • GET /auth/callback → OAuth2 authentication callback
  • GET /auth/github/callback → GitHub OAuth callback

Posts, Comments & Reactions

  • POST /posts → Create a new post (regular / in group)
  • PUT /posts → Edit a post
  • DELETE /posts?post_id=789 → Delete a post
  • GET /posts?user_id=123&page=1 → Get posts by user (pagination) (Includes all data necessaire)
  • GET /posts?group_id=456&page=1 → Get posts for a group (Same structure as above)
  • GET /posts/comments?post_id=456&page=1 → Get comments for a post (Includes all data necessaire)
  • POST /posts/comments → Add a comment
  • PUT /posts/comments → Edit a comment
  • DELETE /posts/comments?comment_id=789 → Delete a comment
  • POST /posts/reactions → React to a post or comment (Pass post_id or comment_id to react accordingly)

Groups & Events

  • POST /groups → Create a group
  • GET /groups?page=1 → Get all groups (pagination)
  • GET /groups?group_id=456 → Get one group
  • GET /groups/members?group_id=12&page=1 → Get group members
  • POST /groups/join → Request to join a group
  • POST /groups/leave → Leave a group
  • POST /groups/invite → Accept/decline a group invitation
  • GET /groups/events?group_id=12&page=1 → Get group events
  • POST /groups/events → Create an event
  • GET /groups/events?page=1 → Get all events (pagination)
  • POST /groups/events/vote → Vote on an event

Chats

  • GET /chats/private?receiver_id=321&page=1 → Get private chat messages
  • WS /chats/private → Send a private message via WebSocket
  • GET /chats/group?group_id=12&page=1 → Get group chat messages
  • WS /chats/group → Send a group chat message via WebSocket

Profiles & Followers

  • GET /profiles?user_id=123 → Get user profile
  • POST /profiles/update → Update profile details
  • POST /profiles/follow → Send follow request
  • POST /profiles/unfollow → Unfollow a user
  • GET /profiles/followers?user_id=123&page=1 → Get followers of a user
  • GET /profiles/following?user_id=123&page=1 → Get users the user follows
  • POST /profiles/follow/accept → Accept/reject follow request
  • GET /profiles/follow/status?user_id=123 → Check follow status

Notifications

  • GET /notifications?user_id=123&page=1 → Get user notifications
  • POST /notifications/seen → Mark a notification as seen
  • WS /notifications → Real-time notifications via WebSocket

Search

  • GET /search/usersGroups?query=john&page=1 → Search for users and groups

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 49.8%
  • Go 38.3%
  • CSS 11.4%
  • Other 0.5%