Jump to content
migo315

Coaster Platform

Recommended Posts

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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... ?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Edited by migo315 (see edit history)

Share this post


Link to post
Share on other sites

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).

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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 ? 

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites
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.

Edited by migo315 (see edit history)

Share this post


Link to post
Share on other sites

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.

 

Share this post


Link to post
Share on other sites

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

Edited by migo315 (see edit history)

Share this post


Link to post
Share on other sites

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 ?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.