All requests and responses are in JSON format.
Action | Path |
---|---|
Users | https://karpul-server.herokuapp.com/api/users |
Authentication | https://karpul-server.herokuapp.com/api/auth |
Carpools | https://karpul-server.herokuapp.com/api/carpools |
Find Carpools | https://karpul-server.herokuapp.com/api/findCarpool |
Image Upload | https://karpul-server.herokuapp.com/api/profilePic |
POST
request to endpoint /
is for creating user documents. It accepts the following request body,
{
username,
password,
firstName,
lastName,
phone
}
username will be rejected if it is not a unique email. Once a user document is successfully created, this will be the server's response.
{
id,
username,
firstName,
lastName,
phone,
city,
state,
bio,
profilePicUrl
}
profilePic is an object for storing a user's profile picture on Cloudinary's server.
POST
request to endpoint /userData
settings will modify some of a user's info. It accepts the following request body,
{
id,
bio,
phone,
state,
city
}
POST
request to endpoint /:id
settings will modify the user's profile pic url. It accepts the following request body,
{
profilePicUrl
}
POST
to /login
endpoint for creation of JWT. It accepts the following request body,
{
username,
password
}
This endpoint takes in the username and verifies the password. When validated, the server will respond with a token,
{
authToken
}
POST
to /refresh
will send back another token with a newer expiriation. No request body is necessary as an existing and valid JWT must be provided to access this endpoint.
POST
request to endpoint /
is for creating carpools. It accepts the following request body,
{
carpoolTitle,
startAddress,
endAddress,
arrivalTime,
openSeats,
details,
days
}
Once a carpool document is successfully created, this will be the server's response.
{
id,
carpoolTitle,
startAddress,
endAddress,
arrivalTime,
openSeats,
host,
details,
days,
users,
pendingRequests
}
DELETE
request to /
will delete a carpool document. It accepts the following request body.
{
carpoolId
}
The server will respond with status 204 whether or not the account exists.
GET
request to endpoint '/' is for finding nearby carpools. It accepts the following request query,
{
address,
days,
from,
to,
radius
}
The server will respond with an array or carpool documents.