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 individual class, exam, and task is colorcoded to the colors used in MyStudyLife.
modules
folder and execute git clone https://github.com/ethanpartida/MMM-MyStudyLife.git
. A new folder will appear, navigate into it.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
)