Skip to content
/ send Public template

This is an a parcel delivery application

License

Notifications You must be signed in to change notification settings

kelvinndmo/send

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

license Coverage Status Build Status Codacy Badge Maintainability PEP8 Python 3.6

SendIT

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

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.
  • Admin can change the status and present location of a parcel delivery order.

Additional Features

  • The application should display a Google Map with Markers showing the pickup location and the destination.
  • The application should display a Google Map with a line connecting both Markers (pickup location and the destination).
  • The application should display a Google Map with computed travel distance and journey duration between the pickup location and the destination.
  • 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 their parcel.

NB:

  • The user can only cancel or change the destination of a parcel delivery when the parcel’s status is yet to be marked as delivered.
  • Only the user who created the parcel delivery order can cancel the order.

Prerequisite

Technologies & Languages

Project management (Agile) https://www.pivotaltracker.com

Version control (Git) https://git-scm.com/

Installation and Setup

Clone the repository below

git clone https://github.com/kelvinndmo/send.git

Create and activate a virtual environment

virtualenv env --python=python3.6

source env/bin/activate

Install required Dependencies

pip install -r requirements.txt

Running the application

$ export FLASK_APP="run.py"
$ export FLASK_DEBUG=1
$ export APP_SETTINGS="development"

Open Terminal and type

$ flask run

Open postman and use the below endpoints.

Endpoints Available

Method Endpoint Description Roles
POST /api/v1/auth/signup sign up a user users
POST /api/v1/parcels post a parcel order users
GET /api/v1/orders/users//parcels Get as specific users orders users/admin
GET /api/v1/parcels/acceptedorders get accepted parcel orders User
GET /api/v1/parcels/declined return a list of declined orders user
PUT /api/v1/parcels/1/declined Decline a specific order Admin
PUT /api/v1/parcels//cancel cancel a spefic order Users
POST /api/v1/auth/login Login to the application Users/Admin
GET /api/v1/parcels/ Get a specific order by id user/Admin
GET api/v1/parcels/intransit get orders in transit Admin/users
DELETE /api/v1/parcels/ delete a specific order Admin/users
PUT /api/v1/parcels//ompleted complete an order Admin
PUT /api/v1/parcels//intransit approve an order to be in transit Admin
PUT /api/v1/parcels//approved approve a pending order Admin
GET /api/v1/parcels Get a list of all orders Admin/users

Testing

Testing

nosetests

- Testing with coverage

nosetests --with-coverage --cover-package=app

Author

Kelvin Onkundi Ndemo

License

MIT

About

This is an a parcel delivery application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages