03 API Specification - Pioneer18/Rent-A-Car GitHub Wiki
Rent-A-Car Route Map
Auth: Login and manage account
@Post(login): Log a user into the application and grant them a JWT authentication token with an expiration date
@Post(logout): Log a user out of the application and expire their JWT authentication token
@Post(change-password): Replace a user's current password with the new user provided password
@Post(forgot-password): Send a user a password replacement email
@Post(reset-password): Reset a user's password with the password provided by the completed reset password email
User: Create and manage users
@Post(create-user): Create a new user account
@Pot(update-user): Update a user's account info; e.g. email, username
@Post(find-user): Find a user in the database by email
@Post(delete-profile): Delete a user profile
Rental: Create new rental listings or search for rentals near your location
@Post(rental): Create a new rental vehicle listing
@Get(search-rental): Search for rentals in a 2, 4, 6, or 8 mile radius from the user's location or a specified address
@Get(user-rentals): Returns all of the logged in user's listed rentals.
@Post(edit-price): Edit a rental's pricing
@Post(edit-details): Edit the details of a rental; e.g. # of seats, color, etc.
@Post(remove-rental): Delete a rental from a user's account
Unavailability: Schedule periods of unavailable time for your rentals
@Post(schedule-pickup-unavailability): Set a period of pickup unavailability for a rental; e.g. [Start] 2021 April 1, 11:30 - [End] 2021 June 15, 18:00
@Post(reschedule-pickup-unavailability): Reschedule a pickup-unavailability period for a rental
@Post(remove-unavailability): Remove a scheduled unavailability period from a rental
@Get(view-pickup-unavailability): Return all of a rental's scheduled pickup unavailability
Images: Upload images to AWS S3 Bucket
@Post(upload-vehicle-images): Upload a single or multiple photos for a vehicle
@Post(upload-profile-images): Upload a single or multiple profile photos
@Post(find-all-vehicle-images): Find all images of a vehicle from the database
@Post(find-vehicle-image): Find a specific image of a vehicle from the database
@Post(find-profile-images): Find all profile images of a user from the database
@Post(find-profile-image): Find a specific profile image of a user from the database