-
-
Notifications
You must be signed in to change notification settings - Fork 90
Tech Stack
TJ-Bot is a classic Discord bot with a slim but modern set of dependencies.
The project stays up to date with the latest Java version.
We use JDA to communicate with the Discord API and Gradle to manage the project and its dependencies.
The bot uses a single SQLite database, which is generated automatically by Flyway based on the scripts found in
TJ-Bot/application/src/main/resources/db/
Interaction with the database is then done using jOOQ.
We rely on SLF4J for logging, backed by Log4j 2.
The configuration can be found at
TJ-Bot/application/src/main/resources/log4j2.xml
For testing the project, we use JUnit 5.
The quality of the code is ensured by Spotless, using a strict style based on the commonly used Google Java Style. The exact style definition can be found at:
TJ-Bot/meta/formatting/google-style-eclipse.xml
Additionally, we use static code analyse by SonarCloud.
Further, the code is checked automatically by CodeQL and dependencies are kept up to date with the aid of Dependabot
In order for the bot to actually go live, it is deployed as Docker image, build by jib, to a VPS provided by Hetzner (see Access the VPS for details).