Coder Social home page Coder Social logo

henryjobst / resulter Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 4.19 MB

Innovative web application for orienteering enthusiasts and organizers of orienteering competitions.

Home Page: https://resulter.olberlin.de

License: Other

Java 68.91% JavaScript 0.36% TypeScript 8.35% HTML 0.06% Vue 21.28% CSS 0.16% Shell 0.52% Dockerfile 0.36%
cup orienteering results-viewer certificate

resulter's Introduction

Resulter Logo

Resulter

version license code style

Overview

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.

Architecture

The frontend communicates with the backend via a REST API, which is implemented in the pattern of Hexagonal Architecture.

Technologies

  • Backend: Java, SpringBoot, Spring Data JDBC
  • Frontend: Typescript, Vue.js 3, Vite, Pina, Primevue, Tailwind, Tanstack Query
  • Communication: REST API
  • Authentication/Authorisation: Keycloak
  • Database: PostgreSQL, H2

Prerequisites

  • Java (recommended: latest version)
  • Node.js and npm/pnpm
  • An IDE of your choice (e.g., IntelliJ IDEA for backend, VSCode for frontend)

Installation

  1. Clone the repository:

    git clone https://github.com/HenryJobst/resulter.git
  2. Switch to the backend directory and start the SpringBoot server:

    cd backend
    ./mvnw spring-boot:run
  3. Switch to the frontend directory and start the Vue.js frontend:

    cd frontend
    npm install
    npm run serve
  4. 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

Usage

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.

Contributions

We welcome contributions to the development of Resulter. Please consult with us in advance to avoid duplicate developments.

License

Resulter © 2023-2024 by Henry Jobst is licensed under CC BY-NC-ND 4.0 - see LICENSE.txt for details.


Überblick

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.

Architektur

Das Frontend kommuniziert über eine REST-API mit dem Backend, welches im Muster der Hexagonalen Architektur implementiert ist.

Technologien

  • Backend: Java, SpringBoot, Spring Data JDBC
  • Frontend: Typescript, Vue.js 3, Vite, Pina, Primevue, Tailwind, Tanstack Query
  • Kommunikation: REST API
  • Authentifizierung/Berechtigung: Keycloak
  • Datenbank: PostgreSQL, H2

Voraussetzungen

  • Java (empfohlen: neueste Version)
  • Node.js und npm/pnpm
  • Eine IDE Ihrer Wahl (z.B. IntelliJ IDEA für Backend, VSCode für Frontend)

Installation

  1. Klonen Sie das Repository:

    git clone https://github.com/HenryJobst/resulter.git
  2. Wechseln Sie in das Backend-Verzeichnis und starten Sie den SpringBoot-Server:

    cd backend
    ./mvnw spring-boot:run
  3. Wechseln Sie in das Frontend-Verzeichnis und starten Sie das Vue.js-Frontend:

    cd frontend
    npm install
    npm run serve
  4. 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

Nutzung

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.

Beiträge

Wir begrüßen Beiträge zur Weiterentwicklung von Resulter. Bitte halten Sie vorab Rücksprache, um Doppelentwicklungen zu vermeiden.

Lizenz

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.

resulter's People

Contributors

henryjobst avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.