SendIT is a courier service that helps users deliver parcels to different destinations. SendIT provides courier quotes based on weight categories.
- 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
- 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.
Instructions to get the project running successfully on your website
You need to have these installed before cloning the project
- NodeJS (atleast v8.11.2) - https://nodejs.org/en/download/
- Postgres - https://www.postgresql.org/download/
git clone https://github.com/sannimichaelse/Parcel-Delivery.git
cd Parcel-Delivery
npm install
npm start
Testing is used at key checkpoints in the overall process to determine whether objectives are being met. It also speed up software development process
npm run test
Linting is the process of running a program that will analyse code for potential errors.
npm run lint:dev
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 |
This project is licensed under the MIT License