RainforestRetail is a growing mail-order business facing challenges with its expanding delivery network. This project aims to digitise and optimise the route management system to better handle the increasing number of delivery hubs, customers, and orders. By generating efficient delivery routes, we aim to improve parcel delivery efficiency and streamline vehicle utilisation. The system will optimise van assignments based on parcel volume for specific regions and prioritise high volume postcodes. Additionally, it will seamlessly integrate new delivery vans into the network.
Currently, the fleet of delivery vehicles is being poorly utilised, with each van covering a fixed route daily regardless of delivery volume. This results in vehicles being either underloaded or overloaded which leads to inefficiencies. As a result, the company is likely to see delays as delivery times cannot be guaranteed, particularly during busy periods.
To complete this project, GPS trackers will need to be installed in each van. Delivery drivers must be trained to use the new software, and sufficient drivers must be hired for regional hubs to cope with peak periods. Transitioning to digital bookkeeping of parcel details at regional hubs will also be necessary.
Balancing workloads according to demand will reduce operational costs by minimising vehicle use, thereby reducing fuel consumption and maintenance costs. Reducing package idle time will increase delivery processing speed, leading to faster deliveries and increased capacity for more orders. Ensuring on-time deliveries during busy periods will enhance customer satisfaction, leading to repeat business and increased revenue from positive referrals.
This project will digitise and optimise RainforestRetail's delivery operations, resulting in more efficient, reliable, and cost-effective parcel delivery services.
Several factors could prevent the success of this project. Adverse weather conditions, such as snow or rain, can impact delivery schedules. Delivery driver availability may also be a challenge due to sickness, holidays, or short staffing. The project will be heavily dependent on technology, which presents potential integration challenges with existing systems. Additionally, budget constraints might limit the acquisition of more vans.
- Java SE 17
- SpringBoot 3.3.0
- Hibernate
- PostgreSQL 15
- Spring Web
- Spring Boot DevTools
- PostgreSQL Driver
- Spring Data JPA
-
Install PostgreSQL
- Via Homebrew:
brew install postgresql
- Or via Postgres.app
- Via Homebrew:
-
Create a database
createdb rainforest_retail_db
-
Fork repository To your computer and run main() in ServerApplication
-
Postico You may wish to visualise the database in Postico once the database is created.
-
Postman Create models/ services / repositories. You may wish to visualise the endpoints in Postman using the JSON segments.
![UML](https://private-user-images.githubusercontent.com/159127446/350904285-c934b2f0-e1eb-4110-a820-cbb1b34c8d5a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyODgwNTEsIm5iZiI6MTczOTI4Nzc1MSwicGF0aCI6Ii8xNTkxMjc0NDYvMzUwOTA0Mjg1LWM5MzRiMmYwLWUxZWItNDExMC1hODIwLWNiYjFiMzRjOGQ1YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQxNTI5MTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jZGNjYjAyNWNmNmI1MzhiOTZkMDI5YmE1OTM0MjhmYmNiYzY5ZTFmOWVmZGVkZjUxOGI0MTY5ODM3NTg3MjNjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.GOfYsbdO62VPlTGM6kC8aKzA4xdkAs5GmqPtrSr8nSI)
![ERD](https://private-user-images.githubusercontent.com/159127446/350904334-36717a50-f759-4fb8-a5f3-c60886377a07.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyODgwNTEsIm5iZiI6MTczOTI4Nzc1MSwicGF0aCI6Ii8xNTkxMjc0NDYvMzUwOTA0MzM0LTM2NzE3YTUwLWY3NTktNGZiOC1hNWYzLWM2MDg4NjM3N2EwNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQxNTI5MTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xOWQ0ZmNhN2I1YmQ5NzIwYjI2MzI0YmRjNDRkODYzNTMwYTY5NTE2MGU3NDZlMzU3NmI2NzNhN2JjNzY5OGZkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Uw6P_OD9LV14_qU9w2AhTd3Hb0N1zNIPv07bhE78BX4)
- React
- Javascript
- Leaflet