Resulter is an innovative web application for orienteering enthusiasts and organizers of orienteering competitions.
This application allows for the input of competition results files and subsequently displays detailed result lists. As the first major feature there is the possibility to design certificate templates and activate certificate download for an event for every single participant.
Future expansions are planned to include cup point calculations and ranking list points, as well as an analysis of split times.
The frontend communicates with the backend via a REST API, which is implemented in the pattern of Hexagonal Architecture.
- Backend: Java, SpringBoot, Spring Data JDBC
- Frontend: Typescript, Vue.js 3, Vite, Pinia, Primevue, Tailwind, Tanstack Query
- Communication: REST API
- Authentication/Authorisation: Keycloak
- Database: PostgreSQL, H2
- Java (recommended: latest version)
- Node.js and npm/pnpm
- An IDE of your choice (e.g., IntelliJ IDEA for backend, VSCode for frontend)
-
Clone the repository:
git clone https://github.com/HenryJobst/resulter.git
-
Switch to the backend directory and start the SpringBoot server:
cd backend ./mvnw spring-boot:run
-
Switch to the frontend directory and start the Vue.js frontend:
cd frontend npm install npm run serve
-
Deployment
- there are seperate deployment scripts (build.sh) to build docker images for frontend and backend
- there is a compose file to start the whole application with database in docker containers
After starting the application, you can upload result files from orienteering competitions. The application processes these and provides detailed result lists. Future features such as certificate printing and points calculations will be added in upcoming versions.
We welcome contributions to the development of Resulter. Please consult with us in advance to avoid duplicate developments.
Resulter © 2023-2024 by Henry Jobst is licensed under CC BY-NC-ND 4.0 - see LICENSE.txt for details.
Resulter ist eine innovative Web-Anwendung für Orientierungslauf-Enthusiasten und Organisatoren von Orientierungslauf-Wettkämpfen.
Mit dieser Anwendung können Ergebnisdateien von Wettkämpfen eingelesen und anschließend detaillierte Ergebnislisten angezeigt werden. Als erste große Funktion besteht die Möglichkeit, Urkundenvorlagen zu gestalten und für eine Veranstaltung den Urkunden-Download für jeden einzelnen Teilnehmer zu aktivieren.
Zukünftige Erweiterungen sollen den Druck von Urkunden, Berechnungen von Cup- und Ranglistenpunkten sowie eine Auswertung von Splittzeiten ermöglichen.
Das Frontend kommuniziert über eine REST-API mit dem Backend, welches im Muster der Hexagonalen Architektur implementiert ist.
- Backend: Java, SpringBoot, Spring Data JDBC
- Frontend: Typescript, Vue.js 3, Vite, Pinia, Primevue, Tailwind, Tanstack Query
- Kommunikation: REST API
- Authentifizierung/Berechtigung: Keycloak
- Datenbank: PostgreSQL, H2
- Java (empfohlen: neueste Version)
- Node.js und npm/pnpm
- Eine IDE Ihrer Wahl (z.B. IntelliJ IDEA für Backend, VSCode für Frontend)
-
Klonen Sie das Repository:
git clone https://github.com/HenryJobst/resulter.git
-
Wechseln Sie in das Backend-Verzeichnis und starten Sie den SpringBoot-Server:
cd backend ./mvnw spring-boot:run
-
Wechseln Sie in das Frontend-Verzeichnis und starten Sie das Vue.js-Frontend:
cd frontend npm install npm run serve
-
Deployment
- es gibt je ein Script (build.sh) um Docker-Images für Frontend und Backend zu bauen
- im Verzeichnis deploy/resulter gibt es ein Docker-Compose-File mit dem die komplette Anwendung mit Datenbank gestartet werden kann
Nach dem Starten der Anwendung können Sie Ergebnisdateien von Orientierungslauf-Wettkämpfen hochladen. Die Anwendung verarbeitet diese und stellt detaillierte Ergebnislisten zur Verfügung. Zukünftige Funktionen wie Urkundendruck und Punkteberechnungen werden in kommenden Versionen ergänzt.
Wir begrüßen Beiträge zur Weiterentwicklung von Resulter. Bitte halten Sie vorab Rücksprache, um Doppelentwicklungen zu vermeiden.
Das Projekt Resulter © 2023-2024 von Henry Jobst ist unter der Lizenz CC BY-NC-ND 4.0 lizenziert - siehe LICENSE.txt für Details.