Suche Unterstützung für ein OpenSource-Projekt (grafischer Editor)

Diskutiere Suche Unterstützung für ein OpenSource-Projekt (grafischer Editor) im Allgemeine Java-Themen Bereich.
O

OliverR

Hallo,

ich suche noch Java-Entwickler, die bei einem Open-Source-Projekt mitmachen wollen. Das Projekt liegt auf GitHub und besteht aus zwei Teilprojekten. Es handelt sich dabei um einen externen grafischen Editor für den AutoDrive-Mod für das Spiel Landwirtschafts-Simulator 19 (www.farming-simulator.com). Mit dem Autodrive-Mod ist es möglich im Spiel Maschinen autonom auf vorher festgelegten Strecken fahren zu lassen. Zum Zeichnen und Editieren dieser Strecken dient nun der externe grafische Editor den ich erstelle und für den ich noch Unterstützer suche. Der zweite Teil des Projekts besteht aus einem Server, über den die Spieler ihre erstellten Strecken mit anderen Spielern austauschen können.

Hier mal die eingesetzten Technologien. Externer grafischer Editor: (https://github.com/raupach/AutoDrive_RouteManager)
- Java 11
- Swing als Gui mit flatlaf Theme
- Spring 5.2.5
- jackson xml
- keycloak oAuth2 für Server-Login
- Vert.x
- JGraphT

Server: (https://github.com/raupach/AutoDriveNetworkServer)
- Java 11
- SpringBoot 2.2.5
- Spring Data
- Flywaydb
- ehcache
- keycloak oAuth2 für Server-Login
- Spring Security
- Mysql db


Hauptsächlich benötige ich Hilfe beim Editor. Der Server-Teil ist relativ schlicht und einfach und schon gut fortgeschritten.
Insgesamt würde ich sagen, dass es sich hier um eher fortgeschrittene Aufgaben handelt.

-Oliver
 
O

OliverR

Habe mal einen aktuellen Screenshot vom Editor gemacht. Es sind auch hier wieder zwei Bereiche. Der eigentliche Editor und der NetworkManager. Hier der Editor:

1588170588336.png

Hier kann man die Pfade anlegen, auf denen die Maschinen später im Spiel fahren können. Ich habe mich hierbei etwas am JOSM-Editor (josm.openstreetmap.de) orientiert.
Das wäre:
- bestehende Pfade aus einer Datei laden und speichern.
- Pfade editieren, Punkte einfügen, verschieben, löschen, Pfade teilen, Pfade zusammenfügen.
- rechts ist eine Liste von Markern, dass sind Positionen die man den Maschinen im Spiel zuweisen kann. Diese Marker müssen Punkten im Pfad zugewiesen werden. Diese Liste muss verwaltet werden. Neue anlegen, löschen, ändern, usw.
- Es gibt verschiedene Karten im Spiel. Das ist das Hintergrundbild. Das muss geladen werden. Hier ist zoom und verschieben notwendig.
- Es sind verschiedene Datenformate im Spiel. Es muss jeweils konvertiert werden von XML auf internes Format und von JSON-Dtos des Servers auf internes Format.

Der zweite Teil ist dann der NetworkManager:

1588171885087.png

Hier werden links die Strecken angezeigt, die lokal beim User vorhanden sind und rechts sind die Strecken die auf dem Server vorhanden sind.
Der User kann nun auswählen, welche Strecken (oder Teilstrecken) er auf den Server lädt oder welche Strecker er gerne vom Server laden möchte:
- Strecke upload und download. In Editor laden oder direkt ins XML auf Platte.
- Strecken haben eine Version. Also update der Strecke auf dem Server.
- Löschen der eigenen Strecken auf dem Server.
- Suche verschiedener Strecken und Teilstrecken auf dem Server.
- Userverwaltung (mit Keycloak)
- usw... gerne auch hier neue Ideen.

-Oliver
 

Anhänge

L

lam_tr

Wie ist da der Status von dem Editor? Kann ich ein zweites Projekt dazu anlegen und Frontend API als JavaFX benutzen?
 
O

OliverR

Ich würde sagen im Moment hat der Editor eher so den Status eines "Proof-of-Concepts". Ich bin einige Sachen angegangen und habe geschaut wie man es prinzipiell machen kann und habe versucht quasi eine Infrastruktur aufzusetzen. Hier kann man nun aufsetzen und die Dinge verbessern und performanter machen.
Ich habe gestern einige Themen aufgeschrieben, die meiner Meinung nach eher unabhängig sind und die noch offen sind und erledigt werden müssen: https://github.com/raupach/AutoDrive_RouteManager/issues
Zusätzlich gibt es überall noch Stellen wo etwas gemacht werden muss. Z.B. brauche ich im Moment noch Konvertierungen in die verschiedenen Datenformate und einen SaveDialog, in dem der User z.B. auswählen kann, ob er ins AutoDrive_config.xml oder ins RouteManager.xml speichern möchte (alos quasi ein SaveAs).

Über JavaFX habe ich schon nachgedacht. Es ist aber so, dass ich mich damit gar nicht auskenne (ich bin auch generell eher ein Backend-Entwickler). Als ich das Projekt übernommen habe, waren es einige sehr wenige einfache Klassen, die mit Java Swing gemacht waren. Da ich vor Urzeiten selbst schon mal ein wenig mit Swing gearbeitet habe, habe ich es erst mal so gelassen.

An den grundlegenden Dingen würde ich allerdings gerne festhalten: Java 11, Maven, Spring.

Der generell übliche Ablauf wäre so:

1) du machst auf github einen fork vom repository https://github.com/raupach/AutoDrive_RouteManager
2) du machst einen branch vom develop branch (der ist gerade aktuell)
3) in dem neu erstellten branch machst du deine Änderungen (z.B. javaFx frontend)
4) wenn du fertig bist, machst du einen pull-request
5) ich schaue mir deine Änderungen an und wenn es passt, funktioniert, gefällt und gut aussieht übernehme ich den pull-request ins repository.
6) und es geht wieder mit neuen Features oder Änderungen von vorne los.

-Oliver
 
L

lam_tr

Ja wahrscheinlich war das eine blöde Idee es auf JavaFX zu realisieren, wenn Editor schon sowieso zum größtenteils in Swing fertig ist.
 
O

OliverR

Och naja, es wäre schon möglich. Soooo viel ist es nun auch nicht. Wer geübt ist in JavaFX kann das sicherlich schon recht kurzfristig machen.
 
L

lam_tr

Alles klar, ich schaue mal ob ich da was gebacken bekomme, habs auf jeden Fall schon geforkt.

Fragen:
* Wo finde ich Beispiel XML - Konfigurationsdateien
* Wie kann ich eine neue Konfigurationsdatei anlegen?
Ich habe von dieser Seite ein paar Xmls runtergeladen, aber über die UI einlesen scheint auch nicht wirklich zu gehen https://github.com/Stephan-S/FS19_AutoDrive/tree/master/FS19_AutoDrive
Ich bekomme da diese Exception
org.xml.sax.SAXParseException: Mit Elementtyp "meta" verknüpfter Attributname "data-pjax-transient" muss vom Zeichen " = " gefolgt werden.
* So ganz intuitiv ist es noch nicht :)
 
Zuletzt bearbeitet:
O

OliverR

Ja, es ist alles noch sehr unfertig und im Rohbau. Da muß noch einiges gemacht werden. Ich habe dir mal meine Testdaten mit angehängt. Daraus verwende ich die "AutoDrive_Felsbrunn_config.xml". Speichern und neue XML aus dem Editor anlegen geht noch nicht. Dazu müßte in der Klasse AutoDriveConfigToRoadMap die Methode saveXmlConfig fertig implementiert werden.
 

Anhänge

O

OliverR

Das AutoDrive Projekt hat auch einen Discord-Channel: https://discord.gg/9D4B5hX
Hauptsächlich geht es da natürlich um den eigentlichen AutoDrive-Mod. Es ist dort auch recht viel los. Aber dort gibt es einen Channel DEV-TEAM#editor-development wo es um genau diesen externen Editor geht. Dort kann man sich dann etwas direkter austauschen.

-Oliver
 
O

OliverR

Man brauch auch nicht unbedingt eine Config.XML. Ich habe mich die letzte Zeit damit beschäftigt:
 
O

OliverR

Und? Klappt es? Ich habe im Moment schon mal rechts die Liste mit den Markern gefüllt.
 
Thema: 

Suche Unterstützung für ein OpenSource-Projekt (grafischer Editor)

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben