mamcx
mamcx

Reputation: 16186

Realtime backend platform for reporting / dashboards?

I will build a dashboard system for my apps, where a page will have several widgets that draw charts, tables and glyphs representing potentially unrelated data.

The client will be HTML5 and I can push for only modern web browser.

My big problem is what backend use for this. I want to store "tables" for use in the charts and in real-time update the widgets.

For example, a invoicing widget will show how much $$ have been collected today. In the "table" will have a row for each total of the invoice:

inv = 1; total = 50

Total: 50

and the widget will draw that. When new data is pushed:

inv = 2; total = 100

Total: 150

The widget will show in realtime the total to the end-user.

The data is private for the user company. Eventually I will need to purge too old data (ie: I only need to keep as much data is necessary to proper evaluation of the info need for the end-user. For example, only keep 1 month of invoicing totals).

I'm thinking in use something like http://www.firebase.com/ or http://pusher.com/ but I suspect only solve the "notify in realtime" part of the equation. As far as I understand, they not let me get past data (ie: If the data is update in the weekend and the user open his dashboard to see what happened)

Then I see http://derbyjs.com/ and the possibility to use mongodb.

I wonder which backend/platform will bring me closer to the build of this system. I have experience with python/django/.net/postgress but could accept the use of something else if solve best this kind of app behavior.

Upvotes: 3

Views: 1989

Answers (2)

test
test

Reputation: 2618

I would recommend signalR. It's amazing and you can literally do anything with it. Check it out: www.signalr.net and if you have any problems simply go to www.jabbr.net You will find a very helpful community there. I implemented a notification mechanism similar to facebook together with real time monitoring and a small chat in the same web site.

Upvotes: 0

Michael Lehenbauer
Michael Lehenbauer

Reputation: 16309

Firebase offers both the "notify in relatime" part that you mention, as well as persistent data storage. Take a look at the tutorial, which walks you through building a real-time persisted chat app (the past chat messages are stored in Firebase and are sent back to the client every time you reload). And you can do much more complicated stuff like the real-time charts / widgets that you mention as well.

The big limitation with Firebase right now is that we're in closed beta and the data is currently unprotected (anybody can read and write your data). The security features are coming soon though.

Some other backend platforms you may want to evaluate are: Meteor and Simperium. Firebase and Simperium are cloud services where your data is stored in the cloud and you don't have to manage any servers of your own, while Meteor and DerbyJS are platforms that you have to install and run on your own server.

Upvotes: 5

Related Questions