
Show HN: A flask app to make dashboards, easily - dxdstudio
https://github.com/christabor/flask_jsondash
======
chenster
I started using Freeboard
([http://freeboard.github.io/freeboard/](http://freeboard.github.io/freeboard/))
in the latest project. It's also really snick and requires no front-end
coding. Worth checking out!

~~~
aaggarwal
Yes, I used Freeboard
([https://github.com/Freeboard/freeboard](https://github.com/Freeboard/freeboard))
couple of years ago for an IoT store. It's highly customizable and has
fantastic UI. It can be used with minimal effort. Highly recommended.

The OP's project is also pretty cool.

~~~
nurettin
I like how they introduced pricing options.

But how does it compare to OP's project? Does it have more graphics choices?

~~~
dxdstudio
You can find all supported types here:

[https://github.com/christabor/flask_jsondash/blob/master/sch...](https://github.com/christabor/flask_jsondash/blob/master/schemas.md)

The big ones are d3, c3, and plotly. Those cover 99% of what you would need.

------
SmellTheGlove
Really cool, thanks for sharing. Any idea how much data this can ingest before
the rendering gets slow? I know horsepower on the client will vary, and the
definition of slow is subjective, but just ballpark. Or is that an exercise
for the reader?

~~~
ergo14
Quite a bit - its powered by c3.js - which is what we are using for AppEnlight
- its quite powerful(and fast).

------
rmanalan
Reminds me of
[http://atlasboard.bitbucket.org](http://atlasboard.bitbucket.org). Nice job!

------
happyslobro
Does anyone have experience running Flask at scale? I used it once, for a
small internal reporting service, and was shocked to find that it was designed
to process only a single request at a time, per process. Is this a problem in
the real world, or do decent caching rules and query design render it a non
issue?

What do flask apps do when they want a live connection to the client, or need
to serve a heavy (slow) request? Communicate with a Node websocket server over
a queue, and share a database?

I don't mean to disparage Flask. Their goal is to make it simple to stand up
site with minimal boilerplate or bloat, and they succeeded at that.

~~~
foob
You would typically use something like nginx as a proxy, in conjunction with
uwsgi for managing a number of workers, and then offload slow operations to a
task queue via redis or something similar. Caching obviously helps if it's
applicable and it's also easy to expand to multiple servers with a load
balancer. Websockets are a little bit more complicated but definitely
possible.

As a side note, the synchronous request processing is more a consequence of
Python rather than flask itself. I've personally found that I build more
scalable things in Python, compared to something like node, because it lends
itself to scalable architecture decisions. You can do a lot of things in node
that are super convenient when you have a single server but that require major
changes when you expand.

~~~
spdionis
> I've personally found that I build more scalable things in Python, compared
> to something like node, because it lends itself to scalable architecture
> decisions. You can do a lot of things in node that are super convenient when
> you have a single server but that require major changes when you expand.

That's one of the major plus points of PHP too.

------
bpchaps
This is great! My weekend is officially opened up. ;)

------
bjt
Flask can be used with gunicorn's gevent (green threads) worker type to scale
to many more concurrent connections.

------
denfromufa
Pyxley?

------
oneloop
What's the difference between this and d3js?

~~~
greglindahl
D3.js is one of the many libraries used to generate these kinds of graphics.
This project wraps up a bunch of different charting thingies into an easy-to-
use combination.

~~~
dxdstudio
Exactly, thanks!

