MagicMirror is a program to easily set up your magic mirror. In addition to the options to display news, Reddit posts, the forecast and bus tables, there is also a demonstration GUI. The GUI gives the user the possibility to try out a specific layout before setting up the mirror.
Gallery
Configuration
Super easy to set up. All configuration us done inside the config.properties file.
New York Times API key retrieval can be found here: http://developer.nytimes.com/
# Weather location in long and latitude
lat=13.20
longitude=55.70
# Skånetrafiken parameters, start and end station name
hplatsD=Värnhem
hplatsA=Lund LTH
# Reddit parameters, subreddit to show posts from
subreddit=programming
#hot/new/rising/top
sort=hot
# News parameters world/technology/science/sports/trending
newsCat=technology
# APIkey for NYTimes received from http://developer.nytimes.com/
APIkey=key
Technology
The program is composed of two parts. Where the first part is composed of four different packages that are used for communications with different API's. The second part of the program is the GUI. To facilitate the communication with the different API's, we've built Java wrappers. To parse and process the JSON formatted strings we use Jackson for Java. The GUI part of the program is constructed using JavaFX and SceneBuilder.
Evaluation
We succeeded in implementing the most essential of our ideas. The functionality to display news, Reddit posts, the upcoming weather and bus tables. These are displayed in the demonstration GUI we made. We didn't implement the option to control the program through voice recognition. We found a good API from IBM which matched our needs but since it wasn't free of charge we excluded that idea. If the service would have been free of charge it wouldn't have been hard to implement since the API had all the functionality that we needed. The idea about controlling Philips hue lights was also excluded. The reason we excluded it was because of lack of time. These extra functionality wouldn't have been any problem to integrate into our program and no changes to the model would have been needed.
Project
Made by Kasper Bratz, Philip Pedersen, Jakob Krantz and Kevin Ispiroglu Lindblad