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.
- Admin can change the status and present location of a parcel delivery order.
- The application should display a Google Map with Markers showing the pickup location and the destination .
- The application should display computed travel distance and journey duration between the pickup location and the destination. Leverage Google Maps Distance Matrix Service.
- 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.
- HTML
- CSS
- Javascript (ES6)
- Google Map Javascript API
- POST /api/v1/users/login -> Log into an account Login
{
email: user@email.com,
password: user@user
}
- POST /api/v1/users/ -> Create a new user
{
firstName: 'First Name',
lastName: 'Last Name',
email: 'email@email.com',
password: 'password',
gender: 'Female',
province: 'Kigali',
district: 'Nyarungege'
}
-
GET /api/v1/users/userId/confirmEmail/confirmationCode -> Confirms emails after creating an account for new users
-
GET /api/v1/users -> Fetch Users
-
GET /api/v1/parcels/parcelId -> Fetch all parcels Get a Parcel
-
GET /api/v1/parcels -> Fetch all parcels Parcels
-
POST /api/v1/parcels -> Creates a new parcel delivery order
{
userId: '97cf377c-5735-4f5d-8645-c8fb4b5c5af3',
fromProvince: 'Kigali',
fromDistrict: 'Nyarungege',
toProvince: 'Northen Province',
toDistrict: 'Burera',
receiverNames: 'Receiver Names',
receiverPhone: '250-783200000',
receiverAddress: faker.address.streetAddress(),
weight: faker.random.number()
}
- PUT /api/v1/parcels/parcelId/cancel -> Cancel a parcel
{
userId: '97cf377c-5735-4f5d-8645-c8fb4b5c5af3'
}