Comments (4)
Ich mach das mal noch fertig
from lokaler-kaufen-app.
Habe schon einmal einen größeren Teil der Backend Controller im Frontend als Clients gespiegelt. Ein paar fehlen allerdings noch, das sollte jedoch im Prinzip nur Fleißarbeit sein.
Nächster Schritt: Einziehen einer Service-Schicht zwischen den Clients und den UI Komponenten (ein Bisschen Inspiration gibt's ja schon z.B. mit dem AdminService
).
In der ersten Welle würde der Auslöser, ob ein Request raus gehen soll oder nicht, immer noch von der jeweiligen UI Komponente ausgehen - aber der Service hat die Möglichkeit, zu entscheiden, ob er mit dem Request wirklich bis zum Client durchgeht oder ob vllt. von einem vorherigen Request (z.B. Postleitzahl-Suche) eine response (Promise) herumliegt
from lokaler-kaufen-app.
Ein nächster Schritt wäre dann, die Services (wo sinnvoll) so umzubauen, dass sie eine "resolve" Funktion für die relevanten Routen haben, wo die benötigten Daten geladen werden und die Navigation im Routing festgehalten wird, bis die Daten da sind.
Beispiel: User navigiert zu /shops/foo123
- Router ruft die entsprechende "resolve" Methode auf dem ShopService auf
- Dieser weiß jetzt, dass die Details für den Laden geholt werden müssen (trigger)
- Der Service schaut erst mal, ob er ggf. die Daten schon hat (etwa von einem vorherigen Besuch der gleichen Shop-Seite)
- Nur wenn nein, werden die Daten per Client vom Backend geladen
- "resolve" ist fertig
- Router macht mit seiner Arbeit weiter
- ShopDetailsPage wird vom Router auf die Bühne gestellt und holt sich beim ShopService die Daten (immer noch eine Promise, weil diese Daten per Definition nur Asynchron vorhanden sind
- Da diese Promise aber sofort resolved (oder rejected im Fehlerfall), kann die UI instant was anzeigen
from lokaler-kaufen-app.
Im Fehlerfall ist es auch denkbar, die "resolve" Funktion rejecten zu lassen - aber da muss ich erst noch mal nachlesen, wie der Router sich da verhält (und wir müssen uns überlegen, wie wir diesen Fehlerzustand darstellen wollen, da bisher das Handling dieses Fehlers erst auf der jeweiligen Seite passiert ist)
from lokaler-kaufen-app.
Related Issues (20)
- Fehlender Redirect bei ungültigem Admin-Token HOT 3
- GraphicsMagic entfernt Alpha-Kanal bei PNGs HOT 2
- Formatierung bei Shop-Logo und in Shop-List passt nicht HOT 1
- Improve user session handling in frontend
- Fehler beim Logo upload HOT 3
- "Bild löschen" bei Shop bearbeiten funktioniert nicht HOT 2
- @Nullable bei ShopCreation / ShopUpdate auf Breaks / SocialLinks entfernen HOT 1
- Falscher Text in der Absagebestätigung-Notification HOT 1
- E-Mail Absender anpassen HOT 1
- Zu optimistisches Belegen eines Slots (auch bei Abbruch noch belegt)
- Login mit falschen Credentials zeigt die "Session abgelaufen" Meldung
- Seltsames Navigationsverhalten nach einer Buchung
- https://info.lokaler.kaufen hat kein gültiges HTTPS Zertifikat HOT 1
- Maps Integration
- Bilder und Videos
- [API-Client] Blueprint aufsetzen HOT 1
- Zoom Faktor für Mobile App passt nicht
- Analyse TypeScript code with SonarQube, too HOT 2
- Outline bei Links entfernen HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lokaler-kaufen-app.