fire-cracker / SendIT

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SendIT

Build StatusCoverage StatusCode ClimateGitHub

Table of Contents

Project Overview

SendIT is a courier service that helps users deliver parcels to different destinations. SendIT  provides courier quotes based on weight categories. it was built from scratch using Html , Css , JavaScript and Node.js

Features

  • Users can create an account and log in,
  • A user can create parcel delivery order,
  • A user can see history of Parcel delivery orders,
  • A user can see the details of a parcel delivery order such as the pickup location, destination, and price.e.t.c 
  • A user can cancel a parcel delivery order,
  • A user can change the destination of a parcel delivery order is yet to be delivered
  • The admin can see list of parcel delivery orders,
  • The admin change present location of parcel delivery orders,
  • The admin can mark orders as pending (in transit) or delivered.

Demo

Visit User Dashboard

Visit Admin Dashboard

Built with

  • HTML 5
  • CSS
  • JavaScript
  • Node.js
  • Express framework
Middle Wares
  • body-parser
  • morgan

API End Points

  • GET /api/v1/users - Fetches all users in the Database
  • GET /api/v1/parcels - Fetches all Available Orders in the Database
  • GET /api/v1/parcels/<parcelId> - Fetches a particular order in the database
  • GET /api/v1/users/<usersId>/parcels/ - Fetches the orders of a particualar user in the database
  • POST /api/v1/parcels/ - Saves an Order in the database
  • POST /api/v1/auth/signup - Signs up a user
  • POST /api/v1/auth/login - User can login
  • PUT /api/v1/parcels/<parcelId>/presentLocation- Updates the location of an order in the database
  • PUT /api/v1/parcels/<parcelId>/status - Updates the status of an order in the database
  • PUT /api/v1/parcels/<parcelId>/destination - Updates the destination of an order in the database
  • PUT /api/v1/parcels/<parcelId>/cancel - Cancels an order in the database
  • DELETE /api/v1/parcels/<parcelId > - Deletes an order in the database

Known issues

Everything works as expected; However:

  • the front-end is not complete, i.e. no authentication, few client-side validation and no link for API calls yet.
  • Data structures were used to save data instead of a database, hence data gets erased once the server is restarted

Installation

  • $ git clone https://github.com/oyedejipeace/SendIT.git
  • $ cd SendIT
  • $ npm i , to install dependencies
  • $ npm start, to start the server Once the server starts-up, you can query the api at http://localhost:5000/api/v1 using the end points stated above.

Contributing

Feel free to 🍴 fork this repository

👯 Clone this repository to your local machine using https://github.com/oyedejipeace/SendIT.git

Make Contributions

🔃 Create a new pull request using https://github.com/oyedejipeace/SendIT./compare

License

GitHub

About

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


Languages

Language:JavaScript 45.5%Language:HTML 38.3%Language:CSS 16.1%