The Padel App is an app that organize matches and tournaments, and creates a scoreboard and leaderboard for the results.
The app is located in: PadelApp/ui/src/main/java/PadelApp/ui/App.java
The project uses Maven as a building tool.
Necessary java-version: java 17.0.8-tem
Necessary maven-version: maven 3.9.4
To run the app you have to run the restserver first.
To initialize the restserver from the PadelApp folder, run: mvn clean install -f ./springboot/restserver/pom.xml´ To run the restserver from the PadelApp folder, run: mvn spring-boot:run -f ./springboot/restserver/pom.xml´
Open new terminal, and run: `mvn javafx:run -f ./ui/pom.xml´
To turn the app into a shippable product, the project uses jlink and jpackage.
Jlink and jpackage requires the .NET framework and wix tool set.
First run the command: mvn javafx:jlink -f ./ui/pom.xml´ from the PadelApp folder Then run the command: mvn jpackage:jpackage -f ./ui/pom.xml
The installation file can then be found under the /ui/target/dist folder
To test the core module from the PadelApp folder, run: `mvn test -f ./core/pom.xml´ To test the ui module from the PadelApp folder, run:
- `mvn spring-boot:run -f ./springboot/restserver/pom.xml´
- Open new terminal and run:
mvn test -f ./ui/pom.xmlTo test the springboot restserver / API from the PadelApp folder, run: `mvn test -f ./springboot/restserver/pom.xml´
We use three code quality analysis tools to make sure our code is up to standards:
- JaCoCo: to check our tests' code coverage
- SpotBug: to spot bugs
- Checkstyle: generates a report regarding the code style
All three generate HTML reports with pointers to what can be improved.
To generate the checkstyle report from the PadelApp folder, run: mvn checkstyle:checkstyle´ The report can be found in each modules /target/site folder You can also run the checkstyle test without creating a report by running: mvn checkstyle:check´
To generate the spotbugs report from the PadelApp folder, run : mvn spotbugs:spotbugs´ The report can be found in each modules /target folder You can also run the spotbugs test without creating a report by running: mvn spotbugs:check´
To generate JaCoCo test coverage report, run the maven tests as described in the testing section above. The report can be found in each modules /target/site/jacoco folder
You can open the reports by copying the path and paste into a web browser.
You can see our diagrams below:
Package diagram: here
Class diagram: here
Sequence diagram: here
- PadelApp/.idea:
- PadelApp/.vscode: (settings.json)
- docs: the release documents (release1, release 2, release 3)
- PadelApp/core/src/main/java/PadelApp/core: domain logic
- PadelApp/core/src/main/java/PadelApp/json: filehandling
- PadelApp/core/src/test/java/PadelApp/core: tests for domain logic
- PadelApp/core/src/test/java/PadelApp/json: tests for filehandling
- PadelApp/pictures: pictures of the app and diagrams
- PadelApp/plantUMLdiagrams: the plantuml diagrams (classDiagram.puml, PackageDiagram.puml, sequenceDiagram.puml)
- PadelApp/springboot/restserver/src/main/java/PadelApp/springboot/restserver: the restserver files
- PadelApp/springboot/restserver/src/test/java/PadelApp/springboot/restserver: the tests for restserver
- PadelApp/ui/src/main/java/PadelApp/ui: App and controllers
- PadelApp/ui/src/main/resources: fxml files
- PadelApp/ui/src/test/java/PadelApp/ui: controller tests