This is a module for MagicMirror. It displays info from the website MyStudyLife. It syncs and displays your class schedule plus upcoming exams and tasks. Each indivual class, exam, and task is colorcoded to the colors used in MyStudyLife.
-
Navigate into your MagicMirror's
modules
folder and executegit clone https://github.com/ethanpartida/MMM-MyStudyLife.git
. A new folder will appear, navigate into it. -
Execute
npm install
to install the node dependencies. -
Open a browser and navigate to the dashboard of your MyStudyLife account. Then open a developer console and input the command
localStorage._
. You should get a response along the lines of "XXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXX=". Paste this code in your config file as follows:code: "XXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXX="
.
(Unfortunately My Study Life changes this code roughly once a month and this code will have to be manually updated by the user) -
Unfortunately there is no way to find which days of the week each class takes place using the data MyStudyLife exports so you must enter this info into the config file. You will create a javascript object which has the name of your classes as keys and an array of the dates the class occurs on as values. The arrays will contain integers which represent the dates. They are as follows:
Sunday Monday Tuesday Wednesday Thursday Friday Saturday 0 1 2 3 4 5 6
The MMM-MyStudyLife entry in config.js
can include the following:
Option | Description |
---|---|
interval |
How often the data is updated (in milli-seconds), Type Integer Default 100000 |
code |
The code received from MyStudyLife in step 3 Type String Required |
color |
Whether or not to color the module Type Boolean Default true |
showSchedule |
Whether or not to display a class schedule Type Boolean Default true |
showExams |
Whether or not to display upcoming exams Type Boolean Default true |
showTasks |
Whether or not to display upcoming tasks Type Boolean Default true |
totNumOfTasks |
The maximum amount of tasks displayed under the "Tasks" tab Type Integer Default 5 |
totNumOfExams |
The maximum amount of exams displayed under the "Exams" tab Type Integer Default 7 |
includeExamSub |
Whether or not to include the subject of the exam before the title of the exam ("Physics Final" vs "Final") Type Boolean Default true |
classes |
A javascript object containing all of your classes and what days of the week they take place on Type Object Required |
militaryTime |
Whether or not to use 24 hour time in class schedule Type Boolean Default true |
Here is an example of what config.js
might look like:
modules: [
{
module: "MMM-MyStudyLife",
position: "top_right",
config: {
code: "XXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXX=",
showSchedule: true,
showExams: true,
showTasks: true,
classes: {
"Intro to Algs. Lecture": [1,3,5],
"Intro to Algs. Lab": [3],
"Honors Math Lecture": [1,3,5],
"Honors Math Discussion": [2,4],
"Physics": [1],
"General Review": [1],
"Math": [1,3,5],
"Physics 2 Lecture": [1,2,3,5],
"Physics 2 Discussion": [4],
"Physics 2 Lab": [4],
"Digital Games and Society": [2,4],
"CSE 1001": [5],
"Honors Nexus": [4]
}
}
},
]
- request (installed via
npm install
)
- This is my first project using Javascript, so feel free to submit any issues or critiques you have and I will do my best to update the project.
- A special thanks to:
- Michael Teeuw for creating MagicMirror2 which made this project possible.
- Sam Lewis whose MMM-Traffic module which I used a guide for much of this projects creation.
- University of Minnesota Anderson Labs which allowed me create the physcial mirror which this software was written for. The Taylor Student Project Fund and Anderson Labs were vital in the creation of this project.