A public bus transportation booking server, developed the back-end API with NodeJs and ExpressJs
Add to Base URL above
-
Use the following Endpoints
POST /auth/signup
Create User AccountPOST /auth/signin
Login A UserPOST /trips
Create a trip (Needs admin priviledges)GET /trips
Get all tripsPOST /bookings
Book a seat on a tripGET /bookings
See all of your bookingsDELETE /bookings/:bookingId
Delete A BookingPATCH /trips/:tripId
Cancel A Trip (Needs admin priviledges)GET /user/seed
Seed users table with users with admin rightsPOST /admin/signup
An admin can add new admin (Needs admin priviledges)PUT /user/:id/admin
An admin can give a registered user admin right (Needs admin priviledges)PUT /bookings/:bookingId
Update Booking Seat NumberPOST /buses
Add a bus (Needs admin priviledges)GET /buses
Get all buses (Needs admin priviledges)GET /trips/origin?origin="origin"
Filter trips by originGET /trips/destination?destination="destination"
Filter trips by destination -
A successful response will be
{ status: 'success', data: {} }
or
{ status: 'success', data: [] }
and an unsuccessful response will be
{ status: 'error', error: 'relevant-error-message' }
I would love to hear from anyone that will like to contribute
-
NodeJs and Npm (https://nodejs.org/en/download/)
-
PostgreSQL(https://www.postgresql.org/download/)
-
Create a .env file at the project root
TransportApi/.env
seeenv_example
file to know what to add to.env
in your root folder. -
DBeaver: DBeaver is free and open source universal database tool for developers and database administrators. (https://dbeaver.io/download/), this is optional though, you can use any other GUI for postgreSQL.
If you want set up locally you can follow these steps, you can also use postman
(https://www.getpostman.com/downloads/) to test. Clone the repository, open terminal in root and do the following on terminal
$ npm install
After Setting up the database, create database tables running the command below, its advisable to run the command more than once and make sure your database is updated with the tables:
$ npm run create-dev-tables
Start server by running:
$ npm run start
Seed Database tables with users(with admin right) by running the command below, its advisable to run it more than once:
$ npm run seed-user-table
or use
GET /user/seed
Endpoint
Test endpoints by running:
$ npm run test
None for now.
developed with 💕 by Blessing Krofegha