/Parcel-Delivery

Send-IT is a courier service that helps users deliver parcels to different destinations. SendIT provides courier quotes based on weight categories.

Primary LanguageJavaScript

Coverage Status build status

SendIT

SendIT is a courier service that helps users deliver parcels to different destinations. SendIT provides courier quotes based on weight categories.

Acces running application

Required Features

  • Users can create an account and log in
  • Users can create a parcel delivery order.
  • Users can change the destination of a parcel delivery order.
  • Users can cancel a parcel delivery order.
  • Users can see the details of a delivery order.
  • The user can view all parcel delivery orders he/she has created.
  • Admin can change the status of a parcel delivery order.
  • Admin can change the status and present location of a parcel delivery order.
  • Admin can view all parcel delivery orders in the application.
  • Admin can change the present location of a parcel delivery order

Optional Features(Extra Credit)

  • The user gets real-time email notification when Admin changes the status of their parcel.
  • The user gets real-time email notification when Admin changes the present location of their parcel.

Getting Started

Instructions to get the project running successfully on your website

Prerequisites

You need to have these installed before cloning the project

Technologies Used

Coding Style

Airbnb JavaScript style guide

Installation

git clone https://github.com/sannimichaelse/Parcel-Delivery.git
cd Parcel-Delivery
npm install
npm start

Test

Testing is used at key checkpoints in the overall process to determine whether objectives are being met. It also speed up software development process

Server side tests
npm run test

Linting

Linting is the process of running a program that will analyse code for potential errors.

npm run lint:dev

ENDPOINTS


Request End Point Action
POST /api/v1/parcels Create a new parcel
PUT /api/v1/parcels/:parcelid/cancel Cancel a parcel by parcelid
GET /api/v1/parcels Get all parcels
GET /api/v1/parcels/:parcelid Get a parcel by parcelid
GET /api/v1/users/parcels/:id Get all parcels belonging to a user
POST /api/v1/auth/signup Signup a new user using database
POST /api/v1/auth/login Login user with email and password
PUT /api/v1/parcels/:id/destination Change Parcel Id destination by user
PUT /api/v1/parcels/:id/status Change Parcel status by user admin
PUT /api/v1/parcels/:id/location Change Parcel location by user admin

License

This project is licensed under the MIT License

Author

Sanni Michael Tomiwa

Acknowledgements

Andela
Scotch.io
FreeCodeCamp
Google
Postgrestutorial.com