Comments (12)
First quite reduced draft of the architecture with required elements.
Especially the "Action API" will have additional elements like functions/interfaces/classes etc to request the Store, build the Filter etc. Shall I add these to the architecture diagram?
from building-navigator.
A more detailed version with additional elements:
from building-navigator.
I figured out an important update of the flow between the actions, rdfstore and middleware.
We can use the middleware as an API to do asynchronous requests to the rdfstore and pass the results to the redux-store.
The new architecture might look like this:
A description will follow in the Readme...
from building-navigator.
Thanks for the sketches, they look good already. But i dont understand, why we need the Middleware API? The container is already subscribed on the redux store and therefore gets called, if anything changes. This kind of asynchronization is already there, why the Middleware?
from building-navigator.
In the first sketches the asynchronous call to the rdfstore was made in the action API. But this was wrong. The actions are mainly for synchronous calls to the Redux store.
With a custom middleware we can do an asynchronous call to the rdfstore, fetch places and dispatch them to the Redux store. Therefore the middleware wraps the dispatch function and is independently from actions.
from building-navigator.
The middleware is basically the handler of asynchron request/responses and delivers. Therefore it makes sense. So the container doesn't wait for something, just fire and forget. But gets called, if an update arrived. This way?
from building-navigator.
Yep, thats the way.
And while the sync request is working, the container can subscribe to an 'is-fetching' state, to may view a loading icon.
from building-navigator.
Ok, sounds good. What are your next steps?
from building-navigator.
Which bullet points can be already marked solved in the list above?
from building-navigator.
With the updated Readme and source we can check the first three points.
The new test concept is still on progress.
from building-navigator.
Very interesting article how to structure a React application: https://medium.com/@alexmngn/how-to-better-organize-your-react-applications-2fd3ea1920f1#.a0y594u1s
from building-navigator.
from building-navigator.
Related Issues (20)
- Improve current building highlighting (or remove) in results list HOT 2
- Use react-router for Routing HOT 1
- Vectorized BVL icons HOT 7
- Enable SPARQL endpoints as data sources
- Create Docker based development environment HOT 1
- add reference to used packages (e.g. Fontawesome, ...)
- Test backend Fuseki HOT 1
- BUG: pagination- > back to search -> search
- Perfomance issues on change route. Is this a development-only issue? HOT 10
- Acc-Icons, Toggle Tooltip onClick
- RDFStore-JS Demo HOT 6
- Please use only entries marked as "publicly available"
- Fix wrong elevator information HOT 1
- Double results (eg baptisten, stelzenhaus HOT 2
- Optimized main.min.js HOT 6
- Connect Buildingnavigator to final city-infrastructure. HOT 13
- Navigation component HOT 22
- Navigation component open TODOs/features HOT 2
- Navigation on mobile devices ist not available
- Check if view is in/near Leipzig on startup HOT 6
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 building-navigator.