Delivery Application
Note: This web page is only a preview to the repository on github.
To see the Delivery Application source code CLICK HERE!
🤔 What is the purpose of this application?
This project written in Java language and Spring Framework, represent Implementation of a Delivery API containing the following functionality:
💬 Timeslot
A delivery window containing start time, end time and supported addresses.
👉 The two sources below will be fetched in order to validate the timeslots:
• A local static json file named
courierAPI.json is loaded when the program is starting. This file contains the available timeslots for the upcoming week.
• Courier timeslots that fall on holidays will be excluded.
For this part I have used
HolidayAPI.
👉 Each timeslot can be used for 2 deliveries.
💬 Delivery
Contains status & selected timeslot.
Business capacity - the system supports up to 10 deliveries per day.
To make sure that the system supports 10 deliveries per day, I used Github's library named Bucket4j.
💬 Address
I have used
Geoapify API to locate correct addresses into an object that holds the address data (such as: street, line1, line2, country, postcode, etc...).
Extra Details
NOTE: This program is really simple, at this moment the program does not support concurrent requests. These days I am working on a new project to upgrade this one by using Spring WebFlux To handle concurrent requests.