Skip to content

BW-Ride-for-Life/Back-End

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Endpoints

All values are strings unless otherwise noted

All values are required unless otherwise noted

  • Endpoint to register a new user
  • Request example:
{
  users_name: "Example User", 
  users_plot: "165", 
  users_phone_number: "164-1535-1256", 
  users_email: "exampleuser@gmail.com", 
  password: "password", 
  due_date: "2019-12-15" <------ OPTIONAL
}
  • Returns new user:
{
  id: 4,
  users_name: "Example User",
  users_plot: "165",
  users_phone_number: "164-1535-1256",
  users_email: "exampleuser@gmail.com",
  due_date: "2019-12-15",
  role: "user"
}
  • Endpoint to register a new driver
  • Request example:
{
  drivers_name: "Example Driver", 
  drivers_plot: "126", 
  drivers_phone_number: "455-743-4567",
  drivers_email: "exampledriver@gmail.com",
  password: "password",
  drivers_price: 50 // <-------- INTEGER
}
  • Returns new driver:
{
  id: 4,
  drivers_name: "Example Driver",
  drivers_plot: "126",
  drivers_phone_number: "455-743-4567",
  drivers_email: "exampledriver@gmail.com",
  drivers_price: 50,
  role: "driver"
}
  • Endpoint to login as a user
  • Request example:
{
  users_email: "exampleuser@gmail.com",
  password: "password"
}
  • Returns id and token:
{ 
  id: 4,
  "token":    "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6IkV4YW1wbGUgVXNlciIsInJvbGUiOiJ1c2VyIiwiaWF0IjoxNTc0MTE1OTY2LCJleHAiOjE1NzQyMDIzNjZ9.5SMRUcR0BzS6I4Bceh7UuuTzvU0IBEGI6y2QQ_jKkJM"
}
  • Endpoint to login as a driver
  • Request example:
{
  drivers_email: "exampledriver@gmail.com",
  password: "password"
}
  • Returns id and token:
{ 
  id: 4,
  "token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NCwibmFtZSI6IkV4YW1wbGUgRHJpdmVyIiwicm9sZSI6ImRyaXZlciIsImlhdCI6MTU3NDExNjIxMywiZXhwIjoxNTc0MjAyNjEzfQ.lza43m8Zg8uAm1hg2Na4g3EKtcb_tDlYbG3zo6GqSSc"
}

The following endpoints require a Token


  • Endpoint to get list of all drivers
  • Endpoint to get single driver by id
  • Returns driver's info:
{
    "id": 4,
    "drivers_name": "Example Driver",
    "drivers_plot": "126",
    "drivers_phone_number": "455-743-4567",
    "drivers_email": "exampledriver@gmail.com",
    "drivers_price": 50,
    "role": "driver"
}
  • Endpoint to get all reviews associated with a specific driver id
  • Returns an array of review objects:
[
    {
        "id": 2,
        "reviewer": "seeduser1",
        "review_date": "2019-08-11",
        "rating": 3,
        "review_text": "Took a long time to get to my house but otherwise good",
        "user_id": 1,
        "driver_id": 3
    }
]
  • Endpoint to update info for a driver
  • Request example:
{
  "drivers_name": "updated_seeddriver3",
  "drivers_price": 85
}
  • Returns the updated driver:
{
    "id": 3,
    "drivers_name": "updated_seeddriver3",
    "drivers_plot": "321",
    "drivers_phone_number": "234-123-4567",
    "drivers_email": "seeddriver3@gmail.com",
    "drivers_price": 85,
    "role": "driver"
}
  • Endpoint to delete a driver
  • Returns success message:
{
    "message": "Driver deleted successfully"
}
  • Endpoint to get user by id
  • Returns user's info:
{
    "id": 4,
    "users_name": "Example User",
    "users_plot": "165",
    "users_phone_number": "164-1535-1256",
    "users_email": "exampleuser@gmail.com",
    "due_date": "2019-12-15",
    "role": "user"
}
  • Endpoint to get all reviews associated with a user id
  • Returns an array of review objects:
[
    {
        "id": 2,
        "reviewer": "seeduser1",
        "review_date": "2019-08-11",
        "rating": 3,
        "review_text": "Took a long time to get to my house but otherwise good",
        "user_id": 1,
        "driver_id": 3
    }
]
  • Endpoint to update info for a user
  • Request example:
{
  "users_name": "updated_seeduser1",
  "users_plot": "111",
  "users_phone_number": "125-1234-3456"
}
  • Returns the updated user:
{
    "id": 1,
    "users_name": "updated_seeduser1",
    "users_plot": "111",
    "users_phone_number": "125-1234-3456",
    "users_email": "seeduser1@gmail.com",
    "due_date": "2019-12-15",
    "role": "user"
}
  • Endpoint to delete a user
  • Returns success message:
{
    "message": "User deleted successfully"
}
  • Endpoint to add a review
  • Request example:
{
        "reviewer": "Example User",
        "review_date": "2019-09-12",
        "rating": 5, <-------- INTEGER
        "review_text": "Great driver. No issues at all",
        "user_id": 2, <-------- INTEGER
        "driver_id": 3 <-------- INTEGER
}
  • Returns added review:
{
    "id": 4,
    "reviewer": "Example User",
    "review_date": "2019-09-12",
    "rating": 5,
    "review_text": "Great driver. No issues at all",
    "user_id": 2,
    "driver_id": 3
}
  • Endpoint to update a review
  • Request example:
{
  "reviewer": "Update Example",
  "review_date": "2018-07-21",
  "rating": 4, <-------- INTEGER
  "review_text": "Driver was good. No complaints",
  "user_id": 2, <-------- INTEGER
  "driver_id": 1 <-------- INTEGER
}
  • Returns updated review:
{
    "id": 4,
    "reviewer": "Update Example",
    "review_date": "2018-07-21",
    "rating": 4,
    "review_text": "Driver was good. No complaints",
    "user_id": 2,
    "driver_id": 1
}
  • Endpoint to delete a review
  • Returns success message:
{
    "message": "Review deleted successfully"
}

About

API and DB for Ride for Life web app

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •