Route: /api/auth/register
Method: POST
Description: Registers a new user in the application.
Request Body:
{
"username" :" string" ,
"email" :" string" ,
"password" :" string" ,
"confirmPassword" :" string"
}
Route: /api/auth/login
Method: POST
Description: Allows an existing user to log in to the application.
Request Body:
{
"username" :" string" ,
"password" :" string"
}
Route: /api/auth/logout
Method: POST
Description: Logs out the currently authenticated user from the application.
Route: /api/users
Method: GET
Description: Retrieves a list of all users in the application.
Authentication: Requires a valid JSON Web Token (JWT).
Display Recommended Posts Based on User Skills
Route: /api/users/recommended
Method: GET
Description: Displays a list of recommended posts based on the authenticated user's skills.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/users/accepted
Method: GET
Description: Retrieves a list of posts that the authenticated user has joined.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/users/invitations
Method: GET
Description: Displays a list of invitations for the authenticated user to join posts.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/users/accept/:postId
Method: POST
Description: Allows the authenticated user to accept an invitation to join a specific post.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/users/reject/:postId
Method: POST
Description: Allows the authenticated user to reject an invitation to join a specific post.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/users/:userId
Method: PUT
Request Body :
{
"username" :" string" ,
"email" :" string" ,
"bio" :" string" ,
"role" :" string" ,
"skills" :[" string" ],
"password" :" string" ,
}
Description: Updates the profile information of a specific user.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/users/:userId
Method: DELETE
Description: Deletes a specific user from the application.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts
Method: GET
Description: Retrieves a list of all posts in the application.
Authentication: Requires a valid JSON Web Token (JWT).
Display Users Who Applied to a Post
Route: /api/posts/:id/applicants
Method: GET
Description: Displays a list of users who have applied to a specific post.
Authentication: Requires a valid JSON Web Token (JWT).
Display Users Working on a Post
Route: /api/posts/:id/accepted
Method: GET
Description: Displays a list of users who have been accepted to work on a specific post.
Authentication: Requires a valid JSON Web Token (JWT).
Display Recommended Users Based on Skills
Route: /api/posts/:id/recommended
Method: GET
Description: Displays a list of recommended users based on their skills for a specific post.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id
Method: GET
Description: Retrieves a specific post by its ID.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/create
Method: POST
Description: Creates a new post in the application.
Request Body :
{
"title" :" string" ,
"description" :" string" ,
"searching_for_skills" : [" string" ]
}
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id/invite/:username
Method: POST
Description: Invites a user to join a specific post.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id/apply
Method: POST
Description: Allows a user to apply to join a specific post.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id/accept/:userId
Method: POST
Description: Accepts a user's application to join a specific post.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id/reject/:userId
Method: POST
Description: Rejects a user's application to join a specific post.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id
Method: PUT
Description: Updates a specific post.
Request Body:
{
"title" :" string" ,
"description" :" string" ,
"searching_for_skills" : [" string" ],
"status" : enum("OPEN","CLOSED")
}
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id
Method: DELETE
Description: Deletes a specific post from the application.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id/tasks
Method: GET
Description: Retrieves a list of tasks associated with a specific post.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id/tasks/:taskId
Method: GET
Description: Retrieves a specific task by its ID.
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id/tasks/new
Method: POST
Description: Creates a new task associated with a specific post.
Request Body:
{
"title" :" string" ,
"description" :" string" ,
"deadline" : " date" ,
"assigned" :" string"
}
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id/tasks/update/:taskId
Method: PUT
Description: Updates a specific task.
Request Body:
{
"title" :" string" ,
"description" :" string" ,
"deadline" : " date" ,
"assigned" :" string" ,
"status" : enum("not_started","in_progress","completed")
}
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id/tasks/update/:taskId/status
Method: PUT
Description: Updates the status of a specific task.
Request Body:
{
"status" : enum("not_started","in_progress","completed")
}
Authentication: Requires a valid JSON Web Token (JWT).
Route: /api/posts/:id/tasks/delete/:taskId
Method: DELETE
Description: Deletes a specific task.
Authentication: Requires a valid JSON Web Token (JWT).