Skip to content

calsirlerilor/teknichrono

 
 

Repository files navigation

Teknichrono

Description

Purpose of the project

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

Architecture

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.

How to use

How to run locally

  • 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 run java -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
  • Run the E2E tests : ./src/test/scripts/bash/moto_tests.sh (or any bash script in this folder)

How to run on OpenShift

  • oc login https://api.starter-us-east-2a.openshift.com --token=******
  • mvn clean install -P openshift
  • mvn -B fabric8:apply -P openshift

Interact with Raspberry

See the client documentation

How to re-generate scaffhold:

  • Delete src/main/webapp
  • In Ecipse run Forge (Command + ' or Ctrl + 4) with default settings and AngularJS

Services

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

Interesting pointers

About

This project is the backend part of a Software to manage chronometers

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 33.8%
  • Python 24.4%
  • JavaScript 22.9%
  • HTML 17.8%
  • Shell 0.6%
  • Groovy 0.3%
  • CSS 0.2%