Exodus.js is a javascript lightweight framework for using REST and web socket technologies together to get the best power out of both worlds.
Define your REST functions in a way that Exodus understands and Exodus will make sure that all your client app’s are updated in real time.
While working as on creating SPA application's that required a complicated inter-related server architecture (SQL) we struggled to keep our collection based front end's up to date. On the front end we wanted flat data structures that were easy to manipulate and present to our components local scope using libraries like Lodash. We wanted our components to 'just refresh' when their relevant collections / data items changed on the DB, but we didn’t want to have to write lots of boilerplate.
Agile principles sound great but software engineers often struggle to implement code that is truly agile and flexible. By using exodus (and it’s semi-opinionated structure) you’re going to get easy and flexible front end collections and reusable back end functions in your REST architecture.
Use REST for updates to the server, and stick to original REST principles, but update your client data models with web sockets in the background.
Rather than returning data in your REST API’s, push this data through web sockets, this means when you’re developing and your current screen refreshes, you know it will refresh for all other uses - magic!
Map difficult relational server technologies like SQL to simple flat JSON-like collections that are easy to use and manipulate on the front end
Data updated on all clients all of the time
Create your REST endpoints like X, Y, Z
Create your REST endpoints like X, Y, Z