Phantom is a web application that allows passengers to track bus location and movements around Kigali.
API endpoints Documentation are hosted Here
- NodeJS - JavaScript Runtime Environment.
- ExpressJs - A Minimal Web Application Framework.
- postgres -open source object-relational database system.
- jest - A JavaScript test framework for Node.js programs, asynchronous testing, test coverage reports, and use of any assertion library.
- Docker - is an application for MacOS and Windows machines for the building and sharing of containerized applications and microservices.
- ESLint - is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. In many ways, it is similar to JSLint and JSHint with a few exceptions.
- Travis - is CI/CD Method used.
Ensure you have NodeJS installed on your computer by entering node -v
on your terminal. If you don't have NodeJS installed go to the NodeJS Website, and follow the download instructions
Clone the app
https://github.com/atlp-rwanda/orcas-phantom-backend.git
Install all the packages
npm install
Run the server
npm start
Run Test case
npm run test
Endpoint | Functionality |
---|---|
POST /api/login | admin log into his/her account |
POST /api/signup | admin create his/her account |
GET /api/users/ | admin get all users |
GET /api/users/:id | admin get a specific user by id |
PATCH /api/users/:id | admin update a specific user |
DELETE /api/users/:id | admin delete a specific user |
GET /routes | admin get all routes |
GET /routes/:id | admin get a specific route by id |
POST /routes | admin add a new route |
DELETE /routes/:id | admin delete a specific route |
PATCH /routes/:id | admin update a specific route |
POST /busstop | admin create a new bus stop |
GET /busstop | admin get all bus stops |
GET /busstop/:id | admin get all bus stop by id |
PATCH /busstop/:id | admin update a bus stop |
DELETE /busstop/:id | admin delete a specific bus stop |
POST /buses | admin create a new bus |
GET /buses | admin get all buses |
GET /buses/:busId | admin get a specific bus by id |
PATCH /buses/:busId | admin update a specific bus by id |
DELETE /buses/:busId | admin delete a specific bus by id |