Further Features - green-ecolution/backend GitHub Wiki
Introduction
The following features were discussed or partially explored during development but were not implemented due to time constraints or technical complexity. They represent potential improvements and future extensions to the project.
Improve Routing with Multiple Refill Points
Currently, the watering route planning allows only one refill point for water tanks. However, in real-world scenarios, multiple refill points are available and should be considered to make routing more efficient.
A proof of concept (POC) has been developed to explore this idea. The main challenge lies in how we integrate our current routing service Vroom. While Vroom is powerful for route optimization, it expects all load pickup and delivery points to be explicitly defined. Our use case requires more flexibility:
We need to determine dynamically:
- When a refill is needed on the route
- Where (which refill point) to stop
This logic must be implemented outside of VROOM, as it currently doesn’t support optional or alternative refill points natively. A basic experiment on this idea can be found here: POC: vroom-two-points-poc.
Support for Flowerbeds and other vegetation
At the moment, our system only supports trees. A future extension could introduce flowerbeds or other vegetation. These types of vegetation come with different requirements (e.g. required watering amount), so simply copying the tree logic would not be sufficient. This would require:
- New entity types in the data model
- Adjusted logic for watering plans and monitoring
- Different UI components
- New swagger endpoint
Image Upload and Display
Originally, we planned to allow users to upload and view images of trees or the exact location of the sensors within the application. This feature would include:
- Uploading images for each tree
- Storing them securely
- Displaying them in the frontend on detail pages
Due to limited time and other priorities, this feature was not implemented, but it could greatly enhance usability and user engagement in the future.
Open Issues
There are still a few open GitHub issues related to bugs, enhancements, or refactoring tasks. These were not critical for the core functionality but could be addressed in future iterations.