Installation using the release binaries - softwaremagico/KendoTournamentManager GitHub Wiki
Download the release you want to use from this git project. You will find two different files, one for the frontend and one for the backend. You need to deploy the frontend and the backend in two different server applications.
For the frontend, you can use any web server you are familiar with (Apache, Nginx, ...). Simply uncompress the file kendo-tournament-frontend.zip on the server as a standard web page.
The backend is released as a standalone JAR file. Java JRE 17 or superior is needed to run this application. And can be executed manually by typing the next command:
java -jar kendo-tournament-backend.jar
Note that probably you need to configure the application.
For this purpose, you can use any ZIP tool to open the jar file, and edit the
file BOOT-INF/classes/application.properties as described on
this Readme.
Any change must be put inside the JAR file again to be used by the application.
Some properties of the project are customizable and, in some cases, must be customized for security reasons. On the backend side you can see all configuration settings inside the file application.properties
On the security level, you must perform the next actions to ensure that your running instance is safe:
The property database.encryption.key is used for database encryption.
This value must be kept in secret.
If the property is left empty, no encryption is applied on the database.
Some examples of use are:
database.encryption.key=mypassword
If you set your database to be encrypted, please remove or comment the
line spring.sql.init.data-locations=optional:classpath*:database/*.sql that includes all predefined scripts to
populate the login credentials.
As the data provided on these scripts are not encrypted and therefore incompatible with your key.
This setting configures the encryption token used for the communication between the frontend and the backend. Any value
is fine here meanwhile, it is kept secret. If jwt_secret is left empty, the system will generate a random one on
start.
Random is more secure, but any user will be forced to log in into the system again if the server is restarted.
jwt.secret=anotherpassword
The project is based on Hibernate for handling the connections to the database, that means that you can switch between different database providers. Currently, for development purposes, it is configured to use MySQL database (v5.7), and the configuration can be found on the file application.properties file:
spring.kendo.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.kendo.datasource.platform=mysql
spring.kendo.datasource.jdbc-url=jdbc:mysql://localhost:3306/kendotournament?useSSL=false&autoReconnect=true
spring.kendo.datasource.username=user
spring.kendo.datasource.password=asd123
Update the configuration according to your needs. If you want to use a different database provider, remember to include
the corresponding jar dependency into the project or copy the jar into your server manually. If you have no
experience on this, focus only on changing the user and password. And remember to generate the
database kendotournament on your database where your user has the right access to it.