Skip to content

jefedcreator/commute

Repository files navigation

commute

REST API for ride hailing SAAS within university campuses. Built with express, nodejs, typescript and paystack

Table of Contents

Intoduction

Local development

Docker

Testing

API

Introduction

As a student in a university, mobility is a necessity. From my experience, however, students have to queue under really long lines at certain stops, under the blistering sun of the day. This is the major inspiration for Commute, a Node.js Express server built with TypeScript and Joi for validations. This application caters to three categories of users: admin, users, and riders. Riders and users can sign up and sign in on the app. Users can create a ride for a fee of ₦50 per minute of ride duration, charged through if riders approve. Riders can approve, complete, and cancel a ride.

Local development

git clone https://github.com/jefedcreator/commute.git
cd commute/

Nodejs v20.11.1

Follow instructions to install the latest version of nodejs for your platform in the nodejs docs

Dependencies

Once you have nodejs setup and running, install dependencies by navigating to the /commute directory and running:

yarn install
Key Dependencies
  • Express Express is a Fast, unopinionated, minimalist web framework for Node.js

  • Typescript TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.

  • Mongoose elegant mongodb object modeling for node.js

  • Joi The most powerful schema description language and data validator for JavaScript.

Initialize development env using:

touch .env
echo -e "MONGODB_URI=\"\"\nMONGODB_NAME=\"\"\nUSER_JWT=\"\"\nADMIN_JWT=\"\"" >> .env

Run the development server:

yarn dev

Verify on the Browser

Navigate to project homepage http://0.0.0.0:3000/ or http://localhost:3000

Docker

This application is hosted as docker image. Docker is an open platform for developing, shipping, testing and running applications. Docker

Pull image

docker pull jefedcreator/commute:v1

Run container

docker compose up

Test container

docker compose run --rm app yarn test

Testing

yarn test

API walkthrough

Project: commute

REST API for ride hailing SAAS within university campuses

📁 Collection: admin

End-point: rides

Fetch rides

Method: GET

{{local}}/v1/admin/rides?paymentType=cash

Headers

Content-Type Value
x-auth-token {{adminToken}}

Query Params

Param value
paymentType cash

Response: 200

{
  "statusCode": 200,
  "message": "fetch rides",
  "data": {
    "rides": [
      {
        "pickupPoint": {
          "pickupName": "",
          "pickupLat": "",
          "pickupLng": ""
        },
        "destinationPoint": {
          "destinationName": "",
          "destinationLat": "",
          "destinationLng": ""
        },
        "_id": "6641653dbc176bd5af0c657d",
        "campusName": "university of lagos",
        "paymentStatus": "completed",
        "paymentType": "cash",
        "status": "success",
        "distance": 0,
        "cost": 10000,
        "duration": 2,
        "userId": "663f297e2b717e890cf59bdb",
        "riderId": "663f3b607f1090619a44dada",
        "createdAt": "2024-05-13T00:56:29.084Z",
        "updatedAt": "2024-05-13T00:58:55.879Z",
        "__v": 0
      },
      {
        "pickupPoint": {
          "pickupName": "",
          "pickupLat": "",
          "pickupLng": ""
        },
        "destinationPoint": {
          "destinationName": "",
          "destinationLat": "",
          "destinationLng": ""
        },
        "_id": "664161f6032db13c752b1f8c",
        "campusName": "university of lagos",
        "paymentStatus": "completed",
        "paymentType": "cash",
        "status": "success",
        "distance": 0,
        "cost": 60000,
        "duration": 12,
        "userId": "663f297e2b717e890cf59bdb",
        "riderId": "663f3b607f1090619a44dada",
        "createdAt": "2024-05-13T00:42:30.599Z",
        "updatedAt": "2024-05-13T00:54:51.337Z",
        "__v": 0
      },
      {
        "pickupPoint": {
          "pickupName": "",
          "pickupLat": "",
          "pickupLng": ""
        },
        "destinationPoint": {
          "destinationName": "",
          "destinationLat": "",
          "destinationLng": ""
        },
        "_id": "66415fa2c4eeb2c30abc039c",
        "campusName": "university of lagos",
        "paymentStatus": "completed",
        "paymentType": "cash",
        "status": "success",
        "distance": 0,
        "cost": 20000,
        "duration": 400,
        "userId": "663f297e2b717e890cf59bdb",
        "riderId": "663f3b607f1090619a44dada",
        "createdAt": "2024-05-13T00:32:34.129Z",
        "updatedAt": "2024-05-13T00:37:07.709Z",
        "__v": 0
      },
      {
        "pickupPoint": {
          "pickupName": "",
          "pickupLat": "",
          "pickupLng": ""
        },
        "destinationPoint": {
          "destinationName": "",
          "destinationLat": "",
          "destinationLng": ""
        },
        "_id": "663fd847bdbdf7ed1ba210c9",
        "campusName": "university of lagos",
        "paymentStatus": "completed",
        "paymentType": "cash",
        "status": "success",
        "distance": 0,
        "cost": 8325000,
        "duration": 0,
        "userId": "663f297e2b717e890cf59bdb",
        "riderId": "663f3b607f1090619a44dada",
        "createdAt": "2024-05-11T20:42:47.020Z",
        "updatedAt": "2024-05-13T00:29:36.019Z",
        "__v": 0
      },
      {
        "pickupPoint": {
          "pickupName": "",
          "pickupLat": "",
          "pickupLng": ""
        },
        "destinationPoint": {
          "destinationName": "",
          "destinationLat": "",
          "destinationLng": ""
        },
        "_id": "663f4ca77f1090619a44dafe",
        "campusName": "university of lagos",
        "paymentStatus": "pending",
        "paymentType": "cash",
        "status": "cancelled",
        "distance": 0,
        "cost": 0,
        "duration": 0,
        "userId": "663f297e2b717e890cf59bdb",
        "riderId": "663f3b607f1090619a44dada",
        "createdAt": "2024-05-11T10:47:03.695Z",
        "updatedAt": "2024-05-11T20:39:24.896Z",
        "__v": 0
      },
      {
        "pickupPoint": {
          "pickupName": "",
          "pickupLat": "",
          "pickupLng": ""
        },
        "destinationPoint": {
          "destinationName": "",
          "destinationLat": "",
          "destinationLng": ""
        },
        "_id": "663f4afe7f1090619a44daf9",
        "campusName": "university of lagos",
        "paymentStatus": "pending",
        "paymentType": "cash",
        "status": "pending",
        "distance": 0,
        "cost": 0,
        "duration": 0,
        "userId": "663f297e2b717e890cf59bdb",
        "riderId": "663f3b607f1090619a44dada",
        "createdAt": "2024-05-11T10:39:58.335Z",
        "updatedAt": "2024-05-11T10:39:58.335Z",
        "__v": 0
      },
      {
        "pickupPoint": {
          "pickupName": "",
          "pickupLat": "",
          "pickupLng": ""
        },
        "destinationPoint": {
          "destinationName": "",
          "destinationLat": "",
          "destinationLng": ""
        },
        "_id": "663f48757f1090619a44daf2",
        "campusName": "university of lagos",
        "paymentStatus": "pending",
        "paymentType": "cash",
        "status": "pending",
        "distance": 0,
        "cost": 0,
        "duration": 0,
        "userId": "663f3b607f1090619a44dada",
        "riderId": "663f3b607f1090619a44dada",
        "createdAt": "2024-05-11T10:29:09.127Z",
        "updatedAt": "2024-05-11T10:29:09.127Z",
        "__v": 0
      },
      {
        "pickupPoint": {
          "pickupName": "",
          "pickupLat": "",
          "pickupLng": ""
        },
        "destinationPoint": {
          "destinationName": "",
          "destinationLat": "",
          "destinationLng": ""
        },
        "_id": "6626d0f209056ec89017eae9",
        "campusName": "university of lagos",
        "paymentStatus": "pending",
        "paymentType": "cash",
        "status": "completed",
        "distance": 0,
        "cost": 0,
        "duration": 0,
        "userId": "6626d0f009056ec89017ead6",
        "riderId": "6626d0f109056ec89017eade",
        "createdAt": "2024-04-22T21:04:50.218Z",
        "updatedAt": "2024-04-22T21:04:51.602Z",
        "__v": 0
      },
      {
        "pickupPoint": {
          "pickupName": "",
          "pickupLat": "",
          "pickupLng": ""
        },
        "destinationPoint": {
          "destinationName": "",
          "destinationLat": "",
          "destinationLng": ""
        },
        "_id": "66237aef62a2d42ea465a016",
        "campusName": "university of lagos",
        "paymentStatus": "pending",
        "paymentType": "cash",
        "status": "completed",
        "distance": 0,
        "cost": 0,
        "duration": 0,
        "userId": "66237aed62a2d42ea465a003",
        "riderId": "66237aee62a2d42ea465a00b",
        "createdAt": "2024-04-20T08:21:03.450Z",
        "updatedAt": "2024-04-20T08:21:05.178Z",
        "__v": 0
      },
      {
        "pickupPoint": {
          "pickupName": "",
          "pickupLat": "",
          "pickupLng": ""
        },
        "destinationPoint": {
          "destinationName": "",
          "destinationLat": "",
          "destinationLng": ""
        },
        "_id": "6622f4decfda5ed24d1ce67c",
        "campusName": "university of lagos",
        "paymentStatus": "pending",
        "paymentType": "cash",
        "status": "completed",
        "distance": 0,
        "cost": 0,
        "duration": 0,
        "userId": "6622f4dccfda5ed24d1ce669",
        "riderId": "6622f4dccfda5ed24d1ce671",
        "createdAt": "2024-04-19T22:49:02.808Z",
        "updatedAt": "2024-04-19T22:49:05.770Z",
        "__v": 0
      }
    ],
    "totalDocuments": 11,
    "pageable": {
      "page": 1,
      "size": 10
    }
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: users

Fetch users

Method: GET

{{local}}/v1/admin/users?role=users

Headers

Content-Type Value
x-auth-token {{adminToken}}

Query Params

Param value
role users

Response: 200

{
  "statusCode": 200,
  "message": "fetch users",
  "data": {
    "users": [],
    "totalDocuments": 0,
    "pageable": {
      "page": 1,
      "size": 10
    }
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: suspend user

Suspend and unsuspend user

Method: PATCH

{{local}}/v1/admin/users/:id

Headers

Content-Type Value
x-auth-token {{adminToken}}

Response: 200

{
  "statusCode": 200,
  "message": "user suspended",
  "data": {
    "_id": "663f3b607f1090619a44dadc",
    "email": "jondoe12@email.com",
    "password": "$2b$10$eL0GunqOv982r80bCya50uyICKb47Dpj5KNI5SvQHjcg60F9GgA7a",
    "role": "rider",
    "userId": "663f3b607f1090619a44dada",
    "isActive": false,
    "createdAt": "2024-05-11T09:33:20.199Z",
    "updatedAt": "2024-05-13T16:06:49.440Z",
    "__v": 0
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: delete admin

Delete admin account

Method: DELETE

{{local}}/v1/admin/

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: delete user

Delete user account

Method: DELETE

{{local}}/v1/admin/users/:id

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: sign in

signin admin

Method: POST

{{local}}/v1/admin/signin

Body (raw)

{
  "email": "jondoe20@email.com",
  "password": "notarealpassword10"
}

Response: 201

{
  "statusCode": 201,
  "message": "logged in",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY2NDIyYjhmMDJhMTRkYjc0NjQ4MDk3NCIsImlhdCI6MTcxNTYxMjgxNywiZXhwIjoxNzE2MDQ0ODE3fQ.kNQnGaZSmIPAXumdmhR_Yo3jDiah83VOY4REdx8mjJo",
    "_id": "66422b8f02a14db746480974",
    "email": "jondoe20@email.com",
    "firstname": "Alfa 5",
    "lastname": "Smart bot"
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

📁 Collection: auth

End-point: sign up

signup user

Method: POST

{{local}}/v1/auth/signup

Body (raw)

{
  "email": "jondoe11@email.com",
  "firstname": "Alfa 5",
  "lastname": "Smart bot",
  "password": "notarealpassword10",
  "phone": "081234",
  "gender": "male",
  "role": "user"
}

Response: 409

{
  "status": "ERROR",
  "statusCode": 409,
  "message": "email already exists"
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: signin

signin user

Method: POST

{{local}}/v1/auth/signin

Body (raw)

{
  "password": "notarealpassword10",
  "email": "jondoe11@email.com"
}

Response: 201

{
  "statusCode": 201,
  "message": "logged in",
  "data": {
    "_id": "663f3b607f1090619a44dada",
    "email": "jondoe12@email.com",
    "firstname": "Alfa 5",
    "lastname": "Smart bot",
    "role": "rider",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY2M2YzYjYwN2YxMDkwNjE5YTQ0ZGFkYSIsInJvbGUiOiJyaWRlciIsImlhdCI6MTcxNTQyMDM0NCwiZXhwIjoxNzE2MDI1MTQ0fQ.EFw6sxX3957foz-5b7wczoycZU-kCaQ_KpLwnTA36r0"
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: reset password

reset user password

Method: POST

undefined

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

📁 Collection: ride

End-point: create ride

create a ride request

Method: POST

{{local}}/v1/rides

Headers

Content-Type Value
x-auth-token {{riderToken}}

Body (raw)

{
  "campusName": "university of lagos",
  "paymentType": "cash",
  "userId": "{{userId}}",
  "riderId": "{{riderId}}"
}

Response: 201

{
  "statusCode": 201,
  "message": "ride created",
  "data": {
    "campusName": "university of lagos",
    "paymentStatus": "pending",
    "paymentType": "cash",
    "status": "pending",
    "distance": 0,
    "cost": 0,
    "duration": 0,
    "userId": "663f3b607f1090619a44dada",
    "riderId": "663f3b607f1090619a44dada",
    "pickupPoint": {
      "pickupName": "",
      "pickupLat": "",
      "pickupLng": ""
    },
    "destinationPoint": {
      "destinationName": "",
      "destinationLat": "",
      "destinationLng": ""
    },
    "_id": "663f48757f1090619a44daf2",
    "createdAt": "2024-05-11T10:29:09.127Z",
    "updatedAt": "2024-05-11T10:29:09.127Z",
    "__v": 0
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: get ride

get individual ride

Method: GET

{{local}}/v1/rides/:id

Headers

Content-Type Value
x-auth-token {{userToken}}

Response: 200

{
  "statusCode": 200,
  "message": "ride fetched",
  "data": {
    "pickupPoint": {
      "pickupName": "",
      "pickupLat": "",
      "pickupLng": ""
    },
    "destinationPoint": {
      "destinationName": "",
      "destinationLat": "",
      "destinationLng": ""
    },
    "_id": "663f4ca77f1090619a44dafe",
    "campusName": "university of lagos",
    "paymentStatus": "pending",
    "paymentType": "cash",
    "status": "pending",
    "distance": 0,
    "cost": 0,
    "duration": 0,
    "userId": {
      "_id": "663f297e2b717e890cf59bdb",
      "email": "jondoe11@email.com",
      "firstname": "Alfa 5",
      "lastname": "Smart bot"
    },
    "riderId": {
      "_id": "663f3b607f1090619a44dada",
      "email": "jondoe12@email.com",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "__t": "rider"
    },
    "createdAt": "2024-05-11T10:47:03.695Z",
    "updatedAt": "2024-05-11T10:47:03.695Z",
    "__v": 0
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: cancel

cancel requested ride

Method: PATCH

{{local}}/v1/rides/:id/cancel

Headers

Content-Type Value
x-auth-token {{riderToken}}

Response: 200

{
  "statusCode": 200,
  "message": "ride canceled",
  "data": true
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: approve

approve requested ride

Method: PATCH

{{local}}/v1/rides/:id/approve

Headers

Content-Type Value
x-auth-token {{riderToken}}

Body (raw)

{
  "userId": "{{userId}}"
}

Response: 200

{
  "statusCode": 200,
  "message": "ride accepted",
  "data": true
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: complete

complete requested ride

Method: PATCH

{{local}}/v1/rides/:id/complete

Headers

Content-Type Value
x-auth-token {{riderToken}}

Response: 200

{
  "statusCode": 200,
  "message": "ride completed",
  "data": true
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

📁 Collection: rider

End-point: get rider

get rider detail

Method: GET

{{local}}/v1/rider

Headers

Content-Type Value
x-auth-token {{riderToken}}

Response: 200

{
  "statusCode": 200,
  "message": "booking fetched",
  "data": {
    "vehicle": {
      "vehicleName": "Toyota",
      "vehicleId": "12345"
    },
    "walletInfo": {
      "currentAmount": 0
    },
    "_id": "663f3b607f1090619a44dada",
    "rating": 0,
    "email": "jondoe12@email.com",
    "firstname": "Alfa 5",
    "lastname": "Smart bot",
    "gender": "male",
    "phone": "081234",
    "avatar": "",
    "role": "rider",
    "totalPayments": 0,
    "totalRides": 4,
    "__t": "rider",
    "createdAt": "2024-05-11T09:33:20.048Z",
    "updatedAt": "2024-05-13T00:37:07.831Z",
    "__v": 0
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: update rider

update rider

Method: PATCH

{{local}}/v1/rider

Headers

Content-Type Value
x-auth-token {{riderToken}}

Body (raw)

{
  "firstname": "Jon",
  "lastname": "Doe",
  "phone": "081234"
}

Response: 200

{
  "statusCode": 200,
  "message": "rider updated",
  "data": {
    "vehicle": {
      "vehicleName": "Toyota",
      "vehicleId": "12345"
    },
    "walletInfo": {
      "currentAmount": 0
    },
    "_id": "663f3b607f1090619a44dada",
    "rating": 0,
    "email": "jondoe12@email.com",
    "firstname": "Jon",
    "lastname": "Doe",
    "gender": "male",
    "phone": "081234",
    "avatar": "",
    "role": "rider",
    "totalPayments": 0,
    "totalRides": 4,
    "__t": "rider",
    "createdAt": "2024-05-11T09:33:20.048Z",
    "updatedAt": "2024-05-13T00:45:49.124Z",
    "__v": 0
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: get transactions

get rider transactions

Method: GET

{{local}}/v1/rider/transactions?status=success&size=5

Headers

Content-Type Value
x-auth-token {{riderToken}}

Query Params

Param value
status success
size 5

Response: 200

{
  "statusCode": 200,
  "message": "user fetched",
  "data": [
    {
      "_id": "6641668829f982741abc01a4",
      "type": "payment",
      "amount": 50,
      "status": "success",
      "firstname": "Jon",
      "lastname": "Doe",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "6641668729f982741abc01a3",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790174453,
      "rideId": "6641661729f982741abc0198",
      "createdAt": "2024-05-13T01:02:00.195Z",
      "updatedAt": "2024-05-13T01:02:16.236Z",
      "__v": 0
    },
    {
      "_id": "664165bcbc176bd5af0c6589",
      "type": "payment",
      "amount": 100,
      "status": "success",
      "firstname": "Jon",
      "lastname": "Doe",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "664165bbbc176bd5af0c6588",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790171666,
      "rideId": "6641653dbc176bd5af0c657d",
      "createdAt": "2024-05-13T00:58:36.506Z",
      "updatedAt": "2024-05-13T00:58:55.879Z",
      "__v": 0
    },
    {
      "_id": "664164c9975fec7cabbecc3c",
      "type": "payment",
      "amount": 600,
      "status": "success",
      "firstname": "Jon",
      "lastname": "Doe",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "664164c8975fec7cabbecc3b",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790169059,
      "rideId": "664161f6032db13c752b1f8c",
      "createdAt": "2024-05-13T00:54:33.413Z",
      "updatedAt": "2024-05-13T00:54:51.337Z",
      "__v": 0
    },
    {
      "_id": "6641609fc4eeb2c30abc03b1",
      "type": "payment",
      "amount": 200,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "6641609ec4eeb2c30abc03b0",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790155438,
      "rideId": "66415fa2c4eeb2c30abc039c",
      "createdAt": "2024-05-13T00:36:47.287Z",
      "updatedAt": "2024-05-13T00:37:07.594Z",
      "__v": 0
    },
    {
      "_id": "66415eb2eace3164f453721e",
      "type": "payment",
      "amount": 83250,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "66415eb1eace3164f453721d",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790147705,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-13T00:28:34.014Z",
      "updatedAt": "2024-05-13T00:29:35.851Z",
      "__v": 0
    }
  ]
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: get rides

get rider rides

Method: GET

{{local}}/v1/rider/rides?status=success&size=5

Headers

Content-Type Value
x-auth-token {{riderToken}}

Query Params

Param value
status success
size 5

Response: 200

{
  "statusCode": 200,
  "message": "rides fetched",
  "data": [
    {
      "pickupPoint": {
        "pickupName": "",
        "pickupLat": "",
        "pickupLng": ""
      },
      "destinationPoint": {
        "destinationName": "",
        "destinationLat": "",
        "destinationLng": ""
      },
      "_id": "6641661729f982741abc0198",
      "campusName": "university of lagos",
      "paymentStatus": "completed",
      "paymentType": "card",
      "status": "success",
      "distance": 0,
      "cost": 5000,
      "duration": 1,
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "createdAt": "2024-05-13T01:00:07.666Z",
      "updatedAt": "2024-05-13T01:02:16.236Z",
      "__v": 0
    },
    {
      "pickupPoint": {
        "pickupName": "",
        "pickupLat": "",
        "pickupLng": ""
      },
      "destinationPoint": {
        "destinationName": "",
        "destinationLat": "",
        "destinationLng": ""
      },
      "_id": "6641653dbc176bd5af0c657d",
      "campusName": "university of lagos",
      "paymentStatus": "completed",
      "paymentType": "cash",
      "status": "success",
      "distance": 0,
      "cost": 10000,
      "duration": 2,
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "createdAt": "2024-05-13T00:56:29.084Z",
      "updatedAt": "2024-05-13T00:58:55.879Z",
      "__v": 0
    },
    {
      "pickupPoint": {
        "pickupName": "",
        "pickupLat": "",
        "pickupLng": ""
      },
      "destinationPoint": {
        "destinationName": "",
        "destinationLat": "",
        "destinationLng": ""
      },
      "_id": "664161f6032db13c752b1f8c",
      "campusName": "university of lagos",
      "paymentStatus": "completed",
      "paymentType": "cash",
      "status": "success",
      "distance": 0,
      "cost": 60000,
      "duration": 12,
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "createdAt": "2024-05-13T00:42:30.599Z",
      "updatedAt": "2024-05-13T00:54:51.337Z",
      "__v": 0
    },
    {
      "pickupPoint": {
        "pickupName": "",
        "pickupLat": "",
        "pickupLng": ""
      },
      "destinationPoint": {
        "destinationName": "",
        "destinationLat": "",
        "destinationLng": ""
      },
      "_id": "66415fa2c4eeb2c30abc039c",
      "campusName": "university of lagos",
      "paymentStatus": "completed",
      "paymentType": "cash",
      "status": "success",
      "distance": 0,
      "cost": 20000,
      "duration": 400,
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "createdAt": "2024-05-13T00:32:34.129Z",
      "updatedAt": "2024-05-13T00:37:07.709Z",
      "__v": 0
    },
    {
      "pickupPoint": {
        "pickupName": "",
        "pickupLat": "",
        "pickupLng": ""
      },
      "destinationPoint": {
        "destinationName": "",
        "destinationLat": "",
        "destinationLng": ""
      },
      "_id": "663fd847bdbdf7ed1ba210c9",
      "campusName": "university of lagos",
      "paymentStatus": "completed",
      "paymentType": "cash",
      "status": "success",
      "distance": 0,
      "cost": 8325000,
      "duration": 0,
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "createdAt": "2024-05-11T20:42:47.020Z",
      "updatedAt": "2024-05-13T00:29:36.019Z",
      "__v": 0
    }
  ]
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

📁 Collection: user

End-point: get user

get user

Method: GET

{{local}}/v1/user

Headers

Content-Type Value
x-auth-token {{userToken}}

Response: 200

{
  "statusCode": 200,
  "message": "user fetched",
  "data": {
    "_id": "663f297e2b717e890cf59bdd",
    "email": "jondoe11@email.com",
    "password": "$2b$10$.EyBXMmiKeA9vcDoEgXkRefMpoKCfeRaxz1Q52GdS1UghOoSljaRO",
    "role": "user",
    "userId": {
      "_id": "663f297e2b717e890cf59bdb",
      "firstname": "Alfa 5",
      "lastname": "Smart bot"
    },
    "isActive": true,
    "createdAt": "2024-05-11T08:17:02.314Z",
    "updatedAt": "2024-05-11T08:17:02.314Z",
    "__v": 0
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: update user

update user

Method: PATCH

{{local}}/v1/user

Body (raw)

{
  "firstname": "Jon",
  "lastname": "Doe",
  "phone": "081234"
}

Response: 200

{
  "statusCode": 200,
  "message": "user updated",
  "data": {
    "_id": "663f297e2b717e890cf59bdd",
    "email": "jondoe11@email.com",
    "password": "$2b$10$.EyBXMmiKeA9vcDoEgXkRefMpoKCfeRaxz1Q52GdS1UghOoSljaRO",
    "role": "user",
    "userId": {
      "_id": "663f297e2b717e890cf59bdb",
      "firstname": "Jon",
      "lastname": "Doe"
    },
    "isActive": true,
    "createdAt": "2024-05-11T08:17:02.314Z",
    "updatedAt": "2024-05-11T08:17:02.314Z",
    "__v": 0
  }
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: delete user

delete user

Method: DELETE

{{local}}/v1/user

Headers

Content-Type Value
x-auth-token {{userToken}}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: get transactions

get user transactions

Method: GET

{{local}}/v1/user/transactions?status=success&size=5

Headers

Content-Type Value
x-auth-token {{userToken}}

Query Params

Param value
status success
size 5

Response: 200

{
  "statusCode": 200,
  "message": "user fetched",
  "data": [
    {
      "_id": "6641668829f982741abc01a4",
      "type": "payment",
      "amount": 50,
      "status": "success",
      "firstname": "Jon",
      "lastname": "Doe",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "6641668729f982741abc01a3",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790174453,
      "rideId": "6641661729f982741abc0198",
      "createdAt": "2024-05-13T01:02:00.195Z",
      "updatedAt": "2024-05-13T01:02:16.236Z",
      "__v": 0
    },
    {
      "_id": "664165bcbc176bd5af0c6589",
      "type": "payment",
      "amount": 100,
      "status": "success",
      "firstname": "Jon",
      "lastname": "Doe",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "664165bbbc176bd5af0c6588",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790171666,
      "rideId": "6641653dbc176bd5af0c657d",
      "createdAt": "2024-05-13T00:58:36.506Z",
      "updatedAt": "2024-05-13T00:58:55.879Z",
      "__v": 0
    },
    {
      "_id": "664164c9975fec7cabbecc3c",
      "type": "payment",
      "amount": 600,
      "status": "success",
      "firstname": "Jon",
      "lastname": "Doe",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "664164c8975fec7cabbecc3b",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790169059,
      "rideId": "664161f6032db13c752b1f8c",
      "createdAt": "2024-05-13T00:54:33.413Z",
      "updatedAt": "2024-05-13T00:54:51.337Z",
      "__v": 0
    },
    {
      "_id": "6641609fc4eeb2c30abc03b1",
      "type": "payment",
      "amount": 200,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "6641609ec4eeb2c30abc03b0",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790155438,
      "rideId": "66415fa2c4eeb2c30abc039c",
      "createdAt": "2024-05-13T00:36:47.287Z",
      "updatedAt": "2024-05-13T00:37:07.594Z",
      "__v": 0
    },
    {
      "_id": "66415eb2eace3164f453721e",
      "type": "payment",
      "amount": 83250,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "66415eb1eace3164f453721d",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790147705,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-13T00:28:34.014Z",
      "updatedAt": "2024-05-13T00:29:35.851Z",
      "__v": 0
    }
  ]
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: get rides

fetch user rides

Method: GET

{{local}}/v1/user/rides?status=success&size=5&paymentType=cash

Headers

Content-Type Value
x-auth-token {{userToken}}

Query Params

Param value
status success
size 5
paymentType cash

Response: 200

{
  "statusCode": 200,
  "message": "rides fetched",
  "data": [
    {
      "pickupPoint": {
        "pickupName": "",
        "pickupLat": "",
        "pickupLng": ""
      },
      "destinationPoint": {
        "destinationName": "",
        "destinationLat": "",
        "destinationLng": ""
      },
      "_id": "6641653dbc176bd5af0c657d",
      "campusName": "university of lagos",
      "paymentStatus": "completed",
      "paymentType": "cash",
      "status": "success",
      "distance": 0,
      "cost": 10000,
      "duration": 2,
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "createdAt": "2024-05-13T00:56:29.084Z",
      "updatedAt": "2024-05-13T00:58:55.879Z",
      "__v": 0
    },
    {
      "pickupPoint": {
        "pickupName": "",
        "pickupLat": "",
        "pickupLng": ""
      },
      "destinationPoint": {
        "destinationName": "",
        "destinationLat": "",
        "destinationLng": ""
      },
      "_id": "664161f6032db13c752b1f8c",
      "campusName": "university of lagos",
      "paymentStatus": "completed",
      "paymentType": "cash",
      "status": "success",
      "distance": 0,
      "cost": 60000,
      "duration": 12,
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "createdAt": "2024-05-13T00:42:30.599Z",
      "updatedAt": "2024-05-13T00:54:51.337Z",
      "__v": 0
    },
    {
      "pickupPoint": {
        "pickupName": "",
        "pickupLat": "",
        "pickupLng": ""
      },
      "destinationPoint": {
        "destinationName": "",
        "destinationLat": "",
        "destinationLng": ""
      },
      "_id": "66415fa2c4eeb2c30abc039c",
      "campusName": "university of lagos",
      "paymentStatus": "completed",
      "paymentType": "cash",
      "status": "success",
      "distance": 0,
      "cost": 20000,
      "duration": 400,
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "createdAt": "2024-05-13T00:32:34.129Z",
      "updatedAt": "2024-05-13T00:37:07.709Z",
      "__v": 0
    },
    {
      "pickupPoint": {
        "pickupName": "",
        "pickupLat": "",
        "pickupLng": ""
      },
      "destinationPoint": {
        "destinationName": "",
        "destinationLat": "",
        "destinationLng": ""
      },
      "_id": "663fd847bdbdf7ed1ba210c9",
      "campusName": "university of lagos",
      "paymentStatus": "completed",
      "paymentType": "cash",
      "status": "success",
      "distance": 0,
      "cost": 8325000,
      "duration": 0,
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "createdAt": "2024-05-11T20:42:47.020Z",
      "updatedAt": "2024-05-13T00:29:36.019Z",
      "__v": 0
    }
  ]
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

📁 Collection: transactions

End-point: get transactions

Fetch all transactions

Method: GET

{{local}}/v1/transactions

Headers

Content-Type Value
x-auth-token {{userToken}}

Response: 200

{
  "statusCode": 200,
  "message": "transactions fetched",
  "data": [
    {
      "_id": "6641668829f982741abc01a4",
      "type": "payment",
      "amount": 50,
      "status": "success",
      "firstname": "Jon",
      "lastname": "Doe",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "6641668729f982741abc01a3",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790174453,
      "rideId": "6641661729f982741abc0198",
      "createdAt": "2024-05-13T01:02:00.195Z",
      "updatedAt": "2024-05-13T01:02:16.236Z",
      "__v": 0
    },
    {
      "_id": "664165bcbc176bd5af0c6589",
      "type": "payment",
      "amount": 100,
      "status": "success",
      "firstname": "Jon",
      "lastname": "Doe",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "664165bbbc176bd5af0c6588",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790171666,
      "rideId": "6641653dbc176bd5af0c657d",
      "createdAt": "2024-05-13T00:58:36.506Z",
      "updatedAt": "2024-05-13T00:58:55.879Z",
      "__v": 0
    },
    {
      "_id": "664164c9975fec7cabbecc3c",
      "type": "payment",
      "amount": 600,
      "status": "success",
      "firstname": "Jon",
      "lastname": "Doe",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "664164c8975fec7cabbecc3b",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790169059,
      "rideId": "664161f6032db13c752b1f8c",
      "createdAt": "2024-05-13T00:54:33.413Z",
      "updatedAt": "2024-05-13T00:54:51.337Z",
      "__v": 0
    },
    {
      "_id": "6641609fc4eeb2c30abc03b1",
      "type": "payment",
      "amount": 200,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "6641609ec4eeb2c30abc03b0",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790155438,
      "rideId": "66415fa2c4eeb2c30abc039c",
      "createdAt": "2024-05-13T00:36:47.287Z",
      "updatedAt": "2024-05-13T00:37:07.594Z",
      "__v": 0
    },
    {
      "_id": "66415eb2eace3164f453721e",
      "type": "payment",
      "amount": 83250,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "66415eb1eace3164f453721d",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790147705,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-13T00:28:34.014Z",
      "updatedAt": "2024-05-13T00:29:35.851Z",
      "__v": 0
    },
    {
      "_id": "664159c02c36d5581d068866",
      "type": "payment",
      "amount": 82200,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "664159bf2c36d5581d068865",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790131720,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-13T00:07:28.281Z",
      "updatedAt": "2024-05-13T00:09:32.519Z",
      "__v": 0
    },
    {
      "_id": "6641580245903e404e1f3449",
      "type": "payment",
      "amount": 81850,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "6641580045903e404e1f3448",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790123222,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-13T00:00:02.338Z",
      "updatedAt": "2024-05-13T00:03:53.446Z",
      "__v": 0
    },
    {
      "_id": "664156fca7cbb5d5a4c0f3c2",
      "type": "payment",
      "amount": 81600,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:55:40.454Z",
      "updatedAt": "2024-05-12T23:55:40.454Z",
      "__v": 0
    },
    {
      "_id": "6641565c5a91aa8027e39d7e",
      "type": "payment",
      "amount": 81500,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:53:00.273Z",
      "updatedAt": "2024-05-12T23:53:00.273Z",
      "__v": 0
    },
    {
      "_id": "664155fe768a40280bef022d",
      "type": "payment",
      "amount": 81400,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:51:26.221Z",
      "updatedAt": "2024-05-12T23:51:26.221Z",
      "__v": 0
    },
    {
      "_id": "664155b52371694ab1dab707",
      "type": "payment",
      "amount": 81350,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:50:13.979Z",
      "updatedAt": "2024-05-12T23:50:13.979Z",
      "__v": 0
    },
    {
      "_id": "6641529c67f49c240ea59695",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:37:00.579Z",
      "updatedAt": "2024-05-12T23:37:00.579Z",
      "__v": 0
    },
    {
      "_id": "66415243dd1bc79cf65038dd",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:35:31.894Z",
      "updatedAt": "2024-05-12T23:35:31.894Z",
      "__v": 0
    },
    {
      "_id": "664151cfd67f75a579994e77",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:33:35.224Z",
      "updatedAt": "2024-05-12T23:33:35.224Z",
      "__v": 0
    },
    {
      "_id": "66414e7fcd1c4d5f53f7086c",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:19:27.227Z",
      "updatedAt": "2024-05-12T23:19:27.227Z",
      "__v": 0
    },
    {
      "_id": "66414e29831427da86c07ede",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:18:01.193Z",
      "updatedAt": "2024-05-12T23:18:01.193Z",
      "__v": 0
    },
    {
      "_id": "66414ddd88b6892941c64a4f",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:16:45.059Z",
      "updatedAt": "2024-05-12T23:16:45.059Z",
      "__v": 0
    },
    {
      "_id": "66414d9bd84d5d93ee5d87c0",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:15:39.387Z",
      "updatedAt": "2024-05-12T23:15:39.387Z",
      "__v": 0
    },
    {
      "_id": "66414d65e82d42860f925306",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:14:45.545Z",
      "updatedAt": "2024-05-12T23:14:45.545Z",
      "__v": 0
    },
    {
      "_id": "66414c81334c9eb016ff65c1",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:10:57.846Z",
      "updatedAt": "2024-05-12T23:10:57.846Z",
      "__v": 0
    },
    {
      "_id": "66414b22ccd6c0f01300d33d",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:05:06.579Z",
      "updatedAt": "2024-05-12T23:05:06.579Z",
      "__v": 0
    },
    {
      "_id": "66414aac1a9bbe506c607b85",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:03:08.014Z",
      "updatedAt": "2024-05-12T23:03:08.014Z",
      "__v": 0
    },
    {
      "_id": "66414a7421416f9f73684c8a",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T23:02:12.684Z",
      "updatedAt": "2024-05-12T23:02:12.684Z",
      "__v": 0
    },
    {
      "_id": "6641489dad786ae9ca63ac8c",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T22:54:21.685Z",
      "updatedAt": "2024-05-12T22:54:21.685Z",
      "__v": 0
    },
    {
      "_id": "6640872e819490ca70512a69",
      "type": "payment",
      "amount": 100,
      "status": "pending",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "",
      "paymentProvider": "PAYSTACK",
      "paymentId": 0,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T09:09:02.541Z",
      "updatedAt": "2024-05-12T09:09:02.541Z",
      "__v": 0
    },
    {
      "_id": "664086d5b4cb4e847cec3e3e",
      "type": "payment",
      "amount": 100,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3788329586,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T09:07:33.752Z",
      "updatedAt": "2024-05-12T09:09:21.438Z",
      "__v": 0
    }
  ]
}

Response: 200

{
  "statusCode": 200,
  "message": "transactions fetched",
  "data": [
    {
      "_id": "664159c02c36d5581d068866",
      "type": "payment",
      "amount": 82200,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "664159bf2c36d5581d068865",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790131720,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-13T00:07:28.281Z",
      "updatedAt": "2024-05-13T00:09:32.519Z",
      "__v": 0
    },
    {
      "_id": "6641580245903e404e1f3449",
      "type": "payment",
      "amount": 81850,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "6641580045903e404e1f3448",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3790123222,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-13T00:00:02.338Z",
      "updatedAt": "2024-05-13T00:03:53.446Z",
      "__v": 0
    },
    {
      "_id": "664086d5b4cb4e847cec3e3e",
      "type": "payment",
      "amount": 100,
      "status": "success",
      "firstname": "Alfa 5",
      "lastname": "Smart bot",
      "email": "jondoe11@email.com",
      "userId": "663f297e2b717e890cf59bdb",
      "riderId": "663f3b607f1090619a44dada",
      "reference": "663fd847bdbdf7ed1ba210c9",
      "paymentChannel": "CARD",
      "paymentProvider": "PAYSTACK",
      "paymentId": 3788329586,
      "rideId": "663fd847bdbdf7ed1ba210c9",
      "createdAt": "2024-05-12T09:07:33.752Z",
      "updatedAt": "2024-05-12T09:09:21.438Z",
      "__v": 0
    }
  ]
}

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: get transaction

Fetch transaction detail

Method: GET

{{local}}/v1/transactions/:id

Headers

Content-Type Value
x-auth-token {{userToken}}

Response: 200

{
  "statusCode": 200,
  "message": "transaction fetched",
  "data": {
    "_id": "6641580245903e404e1f3449",
    "type": "payment",
    "amount": 81850,
    "status": "success",
    "firstname": "Alfa 5",
    "lastname": "Smart bot",
    "email": "jondoe11@email.com",
    "userId": "663f297e2b717e890cf59bdb",
    "riderId": "663f3b607f1090619a44dada",
    "reference": "6641580045903e404e1f3448",
    "paymentChannel": "CARD",
    "paymentProvider": "PAYSTACK",
    "paymentId": 3790123222,
    "rideId": {
      "pickupPoint": {
        "pickupName": "",
        "pickupLat": "",
        "pickupLng": ""
      },
      "destinationPoint": {
        "destinationName": "",
        "destinationLat": "",
        "destinationLng": ""
      },
      "_id": "663fd847bdbdf7ed1ba210c9"
    },
    "createdAt": "2024-05-13T00:00:02.338Z",
    "updatedAt": "2024-05-13T00:03:53.446Z",
    "__v": 0
  }
}

About

REST API for ride hailing SAAS within university campuses. Built with express, nodejs, typescript and paystack

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors