12/18/2023 0 Comments Magic mirror modules![]() For new users and developers alike, it is very time consuming to navigate around the various repositories in order to find out what exactly a certain module does, how it looks and what it depends on. As MM has gained huge popularity, so has the number of available modules. General AdviceĪs MagicMirror² is a fantastic project that is highly connected with aesthetics, it is surprising to see how few module developers actually bother to put a screenshot on their README pages. If you have created an module, feel free to edit this page and add your module to the list. Check out the forums to see what people are requesting. The module is finished and can be downloaded at our GitHub repository.There is always a need for more modules. The screen, the Raspberry Pi and its power supply can be stored inside. This is glass, with a semi-transparant reflective surface.īefore building, I made a drawing in SolidWorks. This glass plate is covered with a semi-transparant foil layer. Instead of using a see-through mirror, a normal glass plate is used. The frame of the first mirror is made out of wood. We both made a mirror in a different way. This flexibility makes our open source project easy to reuse for other purposes. For example: Changing to another HTTP-request handler, is as easy as editing only the DiscourseRequestHandler. Every class has it’s own purpose, which gives a clear overview of what every part of the software does. That is not always the case, because of limitations of the platform.Īs can be seen in the class diagram below, the module is built out of multiple classes. Where possible, multiple notifications can be downloaded at one. The notifications are downloaded in the order they are needed. To not overload the Discourse webserver, we limit our requests to 1 request per 3 seconds (max 20 per minute). We had to make a module that was, robust, flexible (easy to extend or reuse), easy to read and efficient. The software was, as expected, the most work of all. We researched which API calls are necessary for our project, how to request an API key and how to handle the communication with different Discourse sites. ![]() An API is an interface programs can talk to, to get notifications from Discourse. Automating this, makes the proces of shipping your module less tedious.Ī big part of this project was dedicated to using the Discourse API. With continuous integration an application, like our module, can be easily published when it is passes all tests. ![]() We used the Jasmine testing framework with Karma as client. When something breaks later, you get automatically notified when the tests are unsuccessful. It’s best practice to do this before writing the actual code.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |