Since it was not the purpose of the exam to develop a system in its entirety, the software released so far is still to be considered in the prototype phase.
Exam project for the Laboratory of Software Systems (LSS) course of the Computer Science and Engineering Master degree in Cesena.
Fausto Coppi Lab Automation is a system designed to automate the management of the Fausto Coppi Lab, which is a part of the Fausto Coppi Building, the new headquarters of the Fausto Coppi company.
The Fausto Coppi Lab represents the main service for athletes, amateur cyclists, other members and employees of the company, as it provides a gym, physiotherapy, and analysis and measurement of cycling posture (biomechanics).
Project Report and DevOps documentation reside into Confluence space.
Check out DevOps documentation
Code documentation is available through the repository GitHub Pages space.
Code coverage reports are made available through the Codecov service (see also badges above).
The project has been released into the proper Release section of this repository and delivered to Docker Hub repository linked to the project.
Check out Docker Hub repository
The project consists of three microservices:
athletictraining
consulting
reservation
They relate to the homonyms bounded context identified during the analysis and design phases of the project.
Each microservice implement specific features which have been identified throughout the analysis phase, for further information see the related Confluence page.
In Gradle, this means that the project consists of three suitably configured subprojects.
- Java 1.8
$ git clone https://github.com/nlasagni/fausto-coppi-lab-automation.git
$ cd fausto-coppi-lab-automation
All microservices:
$ gradlew build
Specific microservice:
$ gradlew <microservice>:build
Each microservice can run in interactive mode in order to demonstrate the feature that implements.
$ gradlew <microservice>:run -q --console=plain
All microservices:
$ gradlew test
Specific microservice:
$ gradlew <microservice>:test
Since the project is structured in subprojects, in order to generate the documentation of the entire project it is necessary to use the following task provided by dokka.
$ gradlew dokkaHtmlCollector
The result can be found in build/dokka/htmlCollector/
inside the root folder
of the project.
We created a custom Gradle task in order to generate the coverage report of the entire project.
$ gradlew jacocoAggregatedReport
The result can be found in build/reports/jacoco/jacocoAggregatedReport/
inside the root folder
of the project.