This project is the backend part of the Software: the REST API that sits on a server receiving calls from two types of clients:
- Chronometers that sends the pings to compute the lap times
- End users that consult the lap times or Administrators
The backend part is based on Wildfly that receives API calls implemented with Jax-RS. Persistence is implemented with Hibernate and JPA. The testing part of the project is based on JUnits (very few) and Python end to end tests that simulate real activity.
- You may need to adapt
src/main/resources/project-defaults.yaml
- Start the server:
- Normally :
mvn thorntail:run
- With MariaDB Datasource :
java -jar target/teknichrono-thorntail.jar -Smariadb
- Package
mvn clean package
and runjava -jar target/teknichrono-thorntail.jar -Sh2
- In debug mode :
mvn thorntail:run -Dswarm.debug.port=5555
- With debug logs :
mvn thorntail:run -Dswarm.logging=DEBUG
- Normally :
- Run the E2E tests :
./src/test/scripts/bash/moto_tests.sh
(or any bash script in this folder)
oc login https://api.starter-us-east-2a.openshift.com --token=******
mvn clean install -P openshift
mvn -B fabric8:apply -P openshift
- Delete
src/main/webapp
- In Ecipse run Forge (Command + ' or Ctrl + 4) with default settings and AngularJS
TODO List of the REST API services here
For the time being, you can have a look in: src/main/java/org/trd/app/teknichrono/rest
- Thorntail
- thorntail documentation
- create-a-datasource
- command_line
- thorntail-examples
- https://docs.thorntail.io/
- https://docs.thorntail.io/2.2.0.Final/#configuring-a-thorntail-application-using-yaml-files_thorntail
- https://docs.thorntail.io/2.2.0.Final/#using-thorntail-maven-plugin_thorntail
- https://github.com/thorntail/thorntail/blob/master/docs/index.adoc
- JPA
- Examples
- thorntail documentation
- Fabric8
- OpenShift io
- GitHub setup
- Jenkins
- Database