Zum Inhalt springen

Coaster Platform


migo315

Empfohlene Beiträge

Da die Entwicklung meines Projekts momentan gut voran schreitet, will ich hier mal ein paar Ergebnisse teilen.

Alle Daten werden live aus der Coaster Cloud geholt!

 

Anhand einer automatischen Park-Erkennung werden die Attraktionen des Parks abgefragt.

 

Diese werden platziert und mit der ID der Attraktion versehen.

 

Bei einem Klick auf eine Attraktion werden zusätzliche Daten abgefragt (Name und Beschreibung).

 

Hier noch zwei Bilder damit man sehen kann in welche Richtung das ganze gehen soll!

 

Danke an der Stelle an migo315 für die Cloud und die großartige Unterstützung!!!

Screenshot_20191130-062658_Themeparks GO.jpg

Screenshot_20191130-062726_Themeparks GO.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 16 Stunden schrieb RooStar:

Efteling soweit möglich mit Geodaten ergänzt.

 

Hier ist mir folgendes aufgefallen.

Eventuell sollte man die Geodaten zur Station zählen.

Bei einer Transportbahn können so die einzelnen Stationen eingepflegt werden!

Es könnte auch Sinnvoll sein Eingang und Ausgang einer Attraktion separat aufzuführen.

Ich erinnere mich an ein Benutzerprojekt (App) das den Weg zu einer Attraktion innerhalb des Phantasialand anzeigen sollte. Da machen diese beiden Angaben durchaus Sinn, denn die liegen oftmals weit auseinander.

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Stunde schrieb Elector:

Es könnte auch Sinnvoll sein Eingang und Ausgang einer Attraktion separat aufzuführen.

Ich erinnere mich an ein Benutzerprojekt (App) das den Weg zu einer Attraktion innerhalb des Phantasialand anzeigen sollte. Da machen diese beiden Angaben durchaus Sinn, denn die liegen oftmals weit auseinander.

 

Ja das macht durchaus Sinn!

 

Was die von dir beschriebene App angeht, die ist von mir... ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ok, nehme ich als "Feature request" nachher auf. Genauso wie mit den Stationen.

 

Im Changelog habe ich die letzten Änderungen einmal gesammelt. Ua. die neuen GEO Location Felder für Attraktionen, ein neues "label" wird für die Geschichtseinträge, Zeitzonen für den Park, Sortierung nach GEO Location* und ein neuer Parameter für Debugging von Requests.

 

Dieses Wochenende wird nicht viel "offensichtliches" passieren. Ich werde viel an interne Code Struktur und Optimierungen arbeiten. Gestern Abend habe ich Lasttests durchgeführt und ein paar Baustellen erkannt. Vielleicht werde ich zwischendurch ein paar Parks weiter pflegen.

 

 

* Sortierung nach GEO Location: Wenn ein Location Filter gesetzt wird (also man Parks oder Attraktionen nach Koordinaten filter), wird das Ergebnis nun nach "Entfernung" sortiert. Das also am nächsten gelegene Park / Attraktion zuerst, das am weitesten entferne zuletzt. Sobald man aber eine andere Sortierung angiibt (zb. Alphabetisch), wird dies natürlich danach sortiert. Auch hier nachzulesen: https://github.com/migo315/open-coaster-interface/blob/master/examples/location_filter.md

Link zu diesem Kommentar
Auf anderen Seiten teilen

BTW: Jeder der den Thread mitverfolgt sollte es eigentlich wissen, aber hier nochmal als Info:

 

Die alte (legacy) REST API wird am 30. November (also heute) abgeschaltet! Auch die subdomain "api.coaster.cloud" wird heute abgeschaltet. Aufrufe können dann ausschließlich über die (viel geilere) GraphQL (aka Open Coaster Interface) gemacht werden.

 

Intern baut auch sehr viel auf die alte REST API auf, deren Code mit der Abschaltung mit der GraphQL Struktur ausgetauscht wird. Immerhin über 2.700 Lines entfernt.

1819773181_Bildschirmfoto2019-11-30um13_28_41.thumb.png.c35c729fdcad6f47dec9d2e6c9a2f840.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das kommt auf jeden Fall noch. Das ist auch schon länger geplant. Aktuell geht folgendes:

- Abfrage der aktuellen Wartezeiten eines Parks

- Abfrage der Wartezeiten eines Parks zu einem bestimmten Zeitpunkt (zb. gestern um 14:00 Uhr)

 

Folgendes soll noch zukünftig gehen:

- Abfragen der aktuellen Wartezeit für eine Attraktion

- Abfrage der Wartezeit für eine Attraktion zu einem bestimmten Zeitpunkt

- Abfrage einer Wartezeitliste für eine Attraktion innerhalb einer Zeitspanne

- Abfrage einer Wartezeitliste für einen Park innerhalb einer Zeitspanne

 

 

Das wird aber vermutlich noch ein wenig dauern. Aktuell werden die Daten direkt aus der Datenbank abgefragt. Alle anderen Daten (Parks und Attraktionen) dagegen von der Search Engine aus einem Cache. Das hat enorme Geschwindigkeitsvorteile. Bevor ich die neuen Abfrage für die Wartezeiten einfügen, möchte ich auch die Wartezeiten in die Search Engine implementieren. Und da bin ich zur Zeit noch dran.

Bearbeitet von migo315 (Änderungen anzeigen)
Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie angekündigt, nur internals gemacht. Aber hier mal was interessantes:

 

Ich spiele mit den Gedanken ein Verein zu gründen. Hierzu rede ich seit ein paar Tagen mit einem Kollegen, der bereits selber einen Verein führt.

Das Ziel des Vereins wäre dann der Betrieb und die Entwicklung von coaster.cloud. Dabei sollen die Mitglieder die Möglichkeit haben coaster.cloud mitzugestalten. Das hätte folgende Vorteile:

 

1. coaster.cloud wäre nicht mehr auf einer Person angewiesen, sondern ein kompletter Verein steht dahinter (Zukunftssicher)

Sogut wie die meisten Blogs, Foren etc. steht eine Hauptperson dahinter. Bei coaster.cloud ist es nicht anders. Wenn diese Person mal, aus welchen Gründen auch immer, nicht mehr kann oder will, kann so ein Projekt schnell verenden. Durch ein Verein gibt es diese Situation nicht mehr. Es gibt keine Hauptperson. Coaster.cloud gehört dann den Verein und nicht einer Person. Und der Verein kann entscheiden, was damit passiert. Das halte ich für sehr zukunftssicher.

 

2. Durch die aktive Mitgestaltung der Mitglieder könnten sich einige Leute finden die sich aktiv engagieren

Wie in Punkt 1 erwähnt, gibt es keine Hauptperson mehr. Der Verein und die Satzung entscheiden, wie das Projekt weiter geführt wird. Das gibt zwangsläufig mehr Chancen seine Ideen durchzusetzen, da keiner ein "Veto" rausbringen kann. Es entscheiden dann zwangsläufig die Demokratie. Ich stell mir das vereinfacht so vor: Jedes Mitglied kann einen "RFC" einstellen (zb. "coaster.cloud soll zukünftig Instagram einbinden"). Ein RFC enthält dann eine genaue Beschreibung was man vor hat. Andere Mitglieder können darauf kommentieren, Fragen stellen. Irgendwann geht es zur Abstimmung. Jedes Mitglied im Verein kann Online dafür oder dagegen stimmen. Die Mehrheit gewinnt.

 

3. Zukünftige Kosten könnten über kleine Mitgliedsbeiträge gesammelt werden

Den Punkt sehe ich zum aktuellen Zeitpunkt eher nachlässig. Aber theoretisch gibt es die Möglichkeit durch Vereinsbeiträge zukünftig manche Sachen finanzieren zu können.

 

 

Was haltet ihr davon? Natürlich bleibt coaster.cloud immer kostenlos und für jeden Verfügbar - egal ob Mitglied oder nicht. Aber Vereinsmitglieder könnten eben die Zukunft des Projekts aktiv mitbestimmen. Ich sehe das als klaren Vorteil (und das obwohl ich durch Punkt 1 und Punkt 2 quasi meine eigenen Rechte beschneide, da auch ich mich der Vereinssatzung fügen müsste).

Link zu diesem Kommentar
Auf anderen Seiten teilen

OK, Thema "Verein" scheint soweit also erstmal uninteressant. ?

 

Das Phantasialand hat seine neue Webseite veröffentlicht. Wie es der Zufall will, arbeite ich aktuell auch an einem kompletten Rework. Und damit meine ich nicht nur ein paar neue Farben sondern ein komplett neues, modernes Design. Dabei wird die Webseite komplett auf Javascript setzen, wodurch das surfen sehr "smooth" wirkt und  Performance Vorteile bringt. Ich plane das Design bis Sonntag Online zu nehmen - aber mit einem kleinen Nachteil: Es wird nur das "Frontend" sein. Also das, was man als normaler Besucher sieht. Das Backend (Anmelden, Park bearbeiten, Attraktion bearbeiten) wird Schrittweise bis Ende des Monats nachgezogen.

 

So kann ich euer Feedback zum Design frühzeitig erhalten und entsprechend Lösungen entwickeln bzw. Bugs fixen. Hat hier irgendjemand denn "Schmerzen" wenn die Bearbeitungsfunktion für ca. 2 Wochen nicht funktioniert? Soviel Aktivität ist ja gerade sowieso nicht.

 

 

By the way: Der Grund für das neue Design ist nicht, weil ich unbedingt ein neues Design will. Um die Bearbeitung zukünftig noch eleganter umzusetzen und komplexere Formulare anbieten zu können (zb. für Kalenderdaten etc) möchte ich stärker auf Javascript setzen (VueJs). Anstatt aber nun das bisherige umzubauen sah ich die Chance direkt auch mal nen frisches Design mit rauszuhauen. Zudem wird die Pflege der Webseite für zukünftig weitere Entwickler einfacher, weil lediglich VueJs Know-How notwendig sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

11 hours ago, migo315 said:

OK, Thema "Verein" scheint soweit also erstmal uninteressant. ?

 

Das Phantasialand hat seine neue Webseite veröffentlicht. Wie es der Zufall will, arbeite ich aktuell auch an einem kompletten Rework. Und damit meine ich nicht nur ein paar neue Farben sondern ein komplett neues, modernes Design. Dabei wird die Webseite komplett auf Javascript setzen, wodurch das surfen sehr "smooth" wirkt und  Performance Vorteile bringt. Ich plane das Design bis Sonntag Online zu nehmen - aber mit einem kleinen Nachteil: Es wird nur das "Frontend" sein. Also das, was man als normaler Besucher sieht. Das Backend (Anmelden, Park bearbeiten, Attraktion bearbeiten) wird Schrittweise bis Ende des Monats nachgezogen.

 

So kann ich euer Feedback zum Design frühzeitig erhalten und entsprechend Lösungen entwickeln bzw. Bugs fixen. Hat hier irgendjemand denn "Schmerzen" wenn die Bearbeitungsfunktion für ca. 2 Wochen nicht funktioniert? Soviel Aktivität ist ja gerade sowieso nicht.

 

 

By the way: Der Grund für das neue Design ist nicht, weil ich unbedingt ein neues Design will. Um die Bearbeitung zukünftig noch eleganter umzusetzen und komplexere Formulare anbieten zu können (zb. für Kalenderdaten etc) möchte ich stärker auf Javascript setzen (VueJs). Anstatt aber nun das bisherige umzubauen sah ich die Chance direkt auch mal nen frisches Design mit rauszuhauen. Zudem wird die Pflege der Webseite für zukünftig weitere Entwickler einfacher, weil lediglich VueJs Know-How notwendig sind.

 

Please use react ? 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Momentan muss ich ein anderes Projekt zwischenschieben, dadurch wird mein Gaming-Projekt erstmal ins Stocken geraten.

 

Hier kam mir aber eine Idee, welche für Entwickler äußerst praktisch wäre.

Ein vom Entwickler unsichtbar angelegter Testpark. Hier können dann Funktionen wie Hinzufügen/Entfernen und Aktualisierungen von Attraktionen und Co. getestet werden.

Ggf.  könnte man solche "Test-Parks" durch einen API Key schützen. Dann taucht dieser auch nicht auf der Website / in anderen Projekten auf.

Ich gehe mal davon aus, dass rekursives Löschen (Löschen eines Parks löscht automatisch verbundene Attraktionen) problemlos möglich ist. So könnte dann auch auf lange Sicht Datenmüll vermieden werden...

Das würde zumindest Entwicklern einen weiteren Anreiz geben auf die CC zurück zu greifen.

 

Als weitere Idee kam mir die Option einen Tileserver für OpenStreetMap einzurichten. Hier könnte man dann eigene Karten-Tiles ausliefern. Hätte den Vorteil, dass man originale Parkpläne (Ggf. problematisch mlt Urheberrechten) oder auch selbstdesignte Pläne anzeigen kann...

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 43 Minuten schrieb RooStar:

Ein vom Entwickler unsichtbar angelegter Testpark. Hier können dann Funktionen wie Hinzufügen/Entfernen und Aktualisierungen von Attraktionen und Co. getestet werden.

Ggf.  könnte man solche "Test-Parks" durch einen API Key schützen. Dann taucht dieser auch nicht auf der Website / in anderen Projekten auf.

Ich gehe mal davon aus, dass rekursives Löschen (Löschen eines Parks löscht automatisch verbundene Attraktionen) problemlos möglich ist. So könnte dann auch auf lange Sicht Datenmüll vermieden werden...

Das würde zumindest Entwicklern einen weiteren Anreiz geben auf die CC zurück zu greifen.

 

Sehr gute Idee. Generell muss es eine Möglichkeit geben, dass Leute alle Funktionen testen können ohne etwas zu zerschießen. Wäre ja uncool, wenn ein "Neuling" mal eben am Phantasialand testet was man so alles pflegen kann und Fake Daten einbaut. Ggfs. können wir das aber auch als Testumgebung einbinden. Also eine komplett losgelöste Umgebung (zb. test.coaster.cloud) die technisch identisch ist, aber eben nur Testdaten hat. Dann kann jeder User damit rumtesten wie er möchte. Echte Abfragen machen, Fantasieparks pflegen etc. Die Umgebung wäre dann auch nur für eingeloggte Benutzer sichtbar.

 

Neben eine "Spielwiese" muss auch in Zukunft noch das Publishing irgendwie umgesetzt werden. Sprich, einfach Daten bearbeiten soll nicht sofort Live gehen. Sondern das man noch auf einen Knopf drücken muss, um gemachte Änderungen LIVE zu nehmen.

 

Ich versuch hier kurzfristig etwas bereitzustellen.

 

vor 43 Minuten schrieb RooStar:

Als weitere Idee kam mir die Option einen Tileserver für OpenStreetMap einzurichten. Hier könnte man dann eigene Karten-Tiles ausliefern. Hätte den Vorteil, dass man originale Parkpläne (Ggf. problematisch mlt Urheberrechten) oder auch selbstdesignte Pläne anzeigen kann...

 

Klingt mega interessant. Ich habe damit aber keinerlei Erfahrungen. Muss ich mich mal mit auseinander setzen.

Bearbeitet von migo315 (Änderungen anzeigen)
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich werde das neue Layout heute nicht ausrollen. Ich wurde zwar fertig mit den, was ich schaffen wollte, aber konnte noch nicht genug testen. Leider bin ich beruflich auch noch die nächsten Tage unterwegs, weshalb ich eher so kommenden Sonntag anpeile.

 

Ein wenig Feedback konnte ich aber die Tage schon einsammeln. Allesamt positiv. Zwar sind alle Element ähnlich aufgebaut wie vorher, aber eben modernen und frischer.

 

Anbei aber schonmal zwei Screenshots vom aktuellen Stand. Das erste von der neuen Attraktionsübersicht:

1875268026_Bildschirmfoto2019-12-15um23_02_22.thumb.png.d5ef69930c00dde92164b58ad83f4ae3.png

 

 

Teilweise wurden manche bisher nicht so coole Elemente besser gestyled, wie hier die Historie:

1777600376_Bildschirmfoto2019-12-15um23_04_24.thumb.png.6f2e62bcaf14637c49fdf4fdc48b99e0.png

 

 

Letztens endes ist aber vorallem VueJs, was beim Surfen den krassen unterschied macht. Es werden nämlich keine Seitenreloads mehr durchgeführt, weshalb sich die Seite weitaus schneller "anfühlt". Das werdet ihr aber ja dann sehen, sobald ich es Live nehmen konnte.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Etwas, was ich mir schon lange gewünscht aber technisch nicht so schön zu lösen war (weil Listing von VueJs, Routing aber von Symfony gemanaged wurde): Filter Parameter werden an die URL gehangen. Somit kann man nun gefilterte Ansichten teilen und andere Leute schicken. Wenn also demnächst der Kollege fragt, auf welche Achterbahnen er mit seinem 6 Jährigen mit einer Größe von 90cm fahren darf, kann man einfach filtern, Link kopieren und den Link schicken ?

 

1219202966_Bildschirmfoto2019-12-22um13_34_38.thumb.png.9d07aa48b74a53ba99fb653735c6e182.png

Bearbeitet von migo315 (Änderungen anzeigen)
Link zu diesem Kommentar
Auf anderen Seiten teilen

Das neue Theme ist Online: https://coaster.cloud

 

Ich weiß, jetzt kommen die Feiertage. Wer aber mal paar Minuten hat, kann gerne durch klicken und Fehler / Verbesserungsvorschläge melden ?

 

Zum Techniken Stack (falls sich jemand dafür interessiert):

Das Theme ist nun eine Single Page Application (SPA) mit VueJs umgesetzt. Alle Daten werden über Ajax nachgefragt. Vermutlich bricht das SEO Ranking nun ein ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke fürs Feedback und den Hinweis. Ich fixe dies nachher.

 

Zum weiteren Ablauf:

Die letzten Tage durch die Feiertage fast nichts gemacht. Heute steht viel "Aufräumen" an und das fixen ein paar Bugs bzw. kleinere Verbesserungen. Ab morgen arbeite ich an der neuen Login- und Registrierfunktion. Und ab Montag starte ich dann (hoffentlich) mit der Bearbeitungsfunktion. Im Best Case kann man Tag für Tag dann wieder bestimmte Sachen bearbeiten.

 

Spätestens am 12.01 sollte man alles machen können, was man auch vorher konnte. Lediglich die Bearbeitungsformulare werden anders aussehen.

 

Btw: Das Bearbeiten von Parks und Attraktionen werden auch über das Open Coaster Interface umgesetzt. Bedeutet: Über die API können dann Parks und Attraktionen bearbeitet werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Mein letzter Post ist über ein Monat alt. Normalerweise sage ich ja dann oft, dass im Hintergrund viel passiert ist. Aber diesmal leider nicht. Im Januar habe ich quasi nichts gemacht. Erst seit ein paar Tagen arbeite ich weiter am Projekt.

 

Änderung seit dem letzten Post:

- Login, Registrieren, Password vergessen und Account Einstellungen können nun wieder benutzt werden

- Ich habe eine Formular Basis gebaut, womit zukünftig alle Formulare leichter entwickelt werden können

 

Ich arbeite diesen Monat nun daran, dass man wieder Parks und Attraktionen bearbeiten bzw. hinzufügen kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mittlerweile kann man wieder Attraktionen erstellen bzw. Grunddaten vorhandener Attraktionen bearbeiten.

 

Dazu direkt mal eine Änderung: Früher hatte man immer ein großes Formular für eine Attraktion die nur optisch in mehreren Tabs aufgetrennt war. Man konnte somit alle Informationen auf einmal bearbeiten und speichern. Das wird in Zukunft nicht mehr so sein. Für jeden Bereich (Grunddaten, Beschreibung, Technische Daten, Historie, Sicherheitsbestimmungen usw) wird es ein eigenes Formular geben. Nach und nach in diesen Monat werde ich diese Formulare umsetzen. Ab jetzt gibt es schonmal das Grunddaten formular.

 

Dieses vorgehen mehr oder weniger drei Vorteile:

- Bei der Erstellung von Attraktionen wird man nicht von der Masse an Feldern "erschlagen".

- Wir können leichter feststellen, welche Daten ein User angepasst hat

- Fehler bei Formularen führt nicht mehr dazu, dass plötzlich alle Felder leer sind (kam schon vor)

 

So fügt man nun neue Attraktionen hinzu (auf der Attraktionsliste innerhalb von Parks):

84928865_Bildschirmfoto2020-02-15um13_32_35.thumb.png.c5eaa0bb7e54338117f78fd471c8fb75.png

 

Dann bekommt man das Grunddaten Formular, was man ausfüllt und speichert:

992682883_Bildschirmfoto2020-02-15um13_31_46.thumb.png.5890e5433bc8e105a846566805372b6f.png

 

Vorhandene Grunddaten kann man wie folgt bearbeiten:

53398043_Bildschirmfoto2020-02-15um13_31_25.thumb.png.7ad4f7f85149a9b7920951156f659781.png

 

Über die API (OCI) kann man übrigens ebenfalls Attraktionen in Zukunft anlegen oder bearbeiten:

2130588982_Bildschirmfoto2020-02-15um13_33_19.thumb.png.6c67bbf2507b700e4619433615678902.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

×
×
  • Neu erstellen...