Making a dashboard for a company
I am currently starting an internship which consists of making a dashboard for a service of the company. It should display some custom indicators which should be updated regularly. It should also have the possibility to add some data (such as the number of products sent to the trash daily) by filling out a form and also adding an history of the inputs.
After some research I stumbled upon MagicMirror² which seems to be adequate for this and a lot more flexible than other solutions such as Yodeck, Novisign, etc… As I am not a very advanced programmer, I have some basic notions in JS, PHP, and other languages, I would like to have your opinion on this choice in terms of feasability and difficulty to make it in a period of 1 month. Initially, it was planned to make something in Python, but after having showed MM to my tutor he was enthusiastic about it. I’d be glad to get your feedback about it.
- Not so difficult to make your own module (of course, it depends on how complex or simple it is)
- As long as you don’t care about direct input from each instance, you can extend the screen instances as many as possible (Server-Client mode)
- Learning curve of nodeJS is not so steep, at least to make a simple MM module.
- MM has a limited UI framework, so the Design itself might have some limits. (e.g. Layout) You can overcome it with some CSS tricks or modification of the source, anyway, It is not quite pretty. (of course, the beauty is relative)
- MM framework is not VUE or REACT or an equivalent framework to other languages. You need to control everything by yourself with code. It is not so difficult, but somehow boring/annoying.
- Anyway, you learn NodeJS, HTML, CSS, Handling I/O and Networks for your purpose.
really output only, with individual modules collecting data from outside sources. files, databases, and mostly remote apis.
I have made modules that source forms for system config and using mobile devices for config info, you have to do all the server side work too.
MagicMirror’s display technology is a web page built and managed via dynamic html. each module can do its own thing in terms of styles conta, fonts, spacing etc. and as noted, no framework is provided for overall themeing.
u can use my SampleModule as a starting point
@MagicBeginner I actually think the mm will work great… provided that you have a way to access the data you want to display.
For example, my company uses SAGE 500 ERP and it does have an api that we can connect to and get info. The downside is that the person handing the SAGE 500 programming must create that api point.
If the company you are working for has that capability, then you can display whatever data they want you too. JSON is pretty easy with the mirror modules. You’ll just have to build a module for it. And there are lots of third party modules that you can dig into for examples of how to do that.
If they don’t already have some kind of ERP or CMS sytem already (which would make the most sense for them to enter and keep a database of historical information in) then you’ll have to build that for them too. Though you probably won’t want to do all this on a raspberry pi, the sd cards can get corrupted and all the data will be gone.
You have some choices to make about it and how serious they are about historical data tracking could impact the cost of the project for them. (reliable server, backups, automated backups, etc)
Thank you very much everyone for your replies ! It comforts me in the choice to use MM. As for the database, it’s a small structure so they’re not using any ERP or (I believe) any custom API, so it should be to get the output of some relatively simple SQL requests that I’ll use to make the dashboard.
If it turns out to be too complicated, I still have the option to try something in Python, but the advantage of MM in my opinion is its modules system.
@MagicBeginner If data are in MySQL you can use MMM-MysqlQuery module and display them in few minutes. At least it gives you time to develope your own module.
@MagicBeginner Quite a few of the third party modules actually access a python script to do some processing. The gestures and sensor modules are great examples of that. If you need to use python in combination with the mm.
Hi, I have code an magic TV with MagicMirror app (v2. 13, never update it!) for my company.
It display some information (read directly from database,) and slide show photos, internal document.
It’s just an rpi3B+ used in local (for technician hall) with an 27’ screen computer and remotely (server mode for hall of the company) with a 100’ smart tv
Works fine since ~2y now