Skip to content

Implementation

Thanks to the Domain Driven Design carried on during the initial phase of the project, the team was able to conduct the implementation of the system's components concurrently. Before starting with the development the workload was equally divided among the members so that everyone could focus on a specific part of the domain and fully explore it. In order to let the other members know how the own implementation was being made, Git flow was very helpful because, before merging the code to the main branch, every developer had to make a pull request and request for other members' approval.

The communication among microservices happens by means of REST APIs exposed by each of them. The dumpster-microservice, truck-microservice and mission-microservice allow the management of the corresponding digital twins through the Azure Platform exposing CRUD APIs. On the other hand, the booking-microservice and complaint-microservice, expose routes to execute CRUD operations on a MongoDB Cluster instance. Finally, a mocked version of the dashboard was implemented using the Vue framework and it is hosted on Github Pages. The dashboard allows visualizing the position of collection points and trucks on a map and their properties.

The main language used was Kotlin, although the booking-microservice was written in Javascript. For the microservices written in Kotlin, Spring was used to create the web services, Azure Digital Twins Core to interact with Azure Platform and manage the digital twins, and KMongo to connect and operate with MongoDB databases. For the Javascript microservice Node.js was used to provide an execution environment, Express to create a web service and Mongoose to connect and operate with MongoDB databases.

At this stage of the implementation, that is not yet over, each microservice has been implemented and tested on its own. Nevertheless, the integration among microservices has not yet been tested, but the team expects that this process will be straightforward thanks to the initial domain model analysis. Thus, the last part of the implementation will concern the integration of the microservices and the development of the shadowing among physical assets and digital twins.


Last update: July 12, 2022 13:25:46
Created: July 12, 2022 13:25:46