Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
3 views2 pages

Routes File Summary

The document outlines the routes for a Cupidly project, detailing authentication, matching, messaging, and user profile updates. Each section specifies the purpose and functionality of the routes, emphasizing the use of middleware to protect sensitive actions. Overall, the backend is organized by features, ensuring only authenticated users can access certain functionalities.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views2 pages

Routes File Summary

The document outlines the routes for a Cupidly project, detailing authentication, matching, messaging, and user profile updates. Each section specifies the purpose and functionality of the routes, emphasizing the use of middleware to protect sensitive actions. Overall, the backend is organized by features, ensuring only authenticated users can access certain functionalities.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

8/17/25, 9:24 PM Cupidly project discussion

1. Auth Routes (auth.js)

router.post("/signup", signup); router.post("/login", login); router.post("/logout", logout);


router.get("/me", protectRoute, (req, res) => { res.send({ success: true, user: req.user, }); });

🔹 Purpose:
This file handles authentication (user login, signup, logout).

🔹 What each route does:


POST /signup → Creates a new account (calls signup controller).
POST /login → Logs in an existing user and gives token (calls login ).
POST /logout → Logs out the user by clearing token/session.
GET /me → Gets details of the currently logged-in user (only works if logged in because of protectRoute ).

🔹 Interview explanation:
“This file defines routes for user authentication. It covers creating new users, logging them in and out, and also a
‘me’ endpoint to fetch the current user’s data. It uses middleware protectRoute to make sure only logged-in
users can access their own profile.”

2. Match Routes (match.js)

router.post("/swipe-right/:likedUserId", protectRoute, swipeRight); router.post("/swipe-


left/:dislikedUserId", protectRoute, swipeLeft); router.get("/", protectRoute, getMatches);
router.get("/user-profiles", protectRoute, getUserProfiles);

🔹 Purpose:
Handles swiping and matching system (like Tinder).

🔹 What each route does:


POST /swipe-right/:likedUserId → User swipes right (likes someone).
POST /swipe-left/:dislikedUserId → User swipes left (dislikes someone).
GET / → Shows the list of user’s matches.
GET /user-profiles → Fetches all available user profiles to swipe on.

🔹 Interview explanation:
“This file defines the logic for the swiping feature. Users can swipe right or left on other profiles, fetch potential
matches, and get their matched profiles. It uses protectRoute middleware so only authenticated users can swipe
or view matches.”

3. Message Routes (message.js)

router.use(protectRoute); router.post("/send", sendMessage); router.get("/conversation/:userId",


getConversation);

🔹 Purpose:
Handles messaging between matched users.
https://chatgpt.com/c/68a1f4db-e334-832d-9dbc-fd9f7dd18411 1/2
8/17/25, 9:24 PM Cupidly project discussion

🔹 What each route does:


POST /send → Send a message to another user.
GET /conversation/:userId → Fetch chat history (conversation) with a specific user.

🔹 Interview explanation:
“This file manages the chat system. Only authenticated users can send messages or view conversations. It has one
route for sending messages and another for fetching previous chats between two users.”

4. User Routes (user.js)

router.put("/update", protectRoute, updateProfile);

🔹 Purpose:
Handles updating user profile details.

🔹 What each route does:


PUT /update → Allows a logged-in user to update their profile info (bio, age, preferences, etc).

🔹 Interview explanation:
“This file is for updating user details. It ensures that only authenticated users can update their own profile using
the protectRoute middleware.”

✅ Overall Explanation (if interviewer asks in general):


“In the backend, routes are divided based on features.
auth.js → for signup/login/logout and checking logged-in user.
match.js → for swiping and getting matches.
message.js → for chat between matched users.
user.js → for updating user profile.
All sensitive routes are protected using middleware protectRoute so only authenticated users can access them.”

https://chatgpt.com/c/68a1f4db-e334-832d-9dbc-fd9f7dd18411 2/2

You might also like