Skip to content
Module to display info from the website MyStudyLife
JavaScript CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Console.PNG Add files via upload Oct 22, 2019
LICENSE Initial commit Sep 14, 2019
MMM-MyStudyLife.js Fixed scaling for classes when only one class in a day Nov 21, 2019
README.md Update README.md Nov 22, 2019
Screenshot.PNG Add files via upload Oct 22, 2019
node_helper.js Add files via upload Oct 22, 2019
package.json Create package.json Oct 22, 2019
styles1.css attempted to fix margins of the module Nov 20, 2019

README.md

MMM-MyStudyLife

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. Screenshot of Module

Installation

  1. Navigate into your MagicMirror's modules folder and execute git clone https://github.com/ethanpartida/MMM-MyStudyLife.git. A new folder will appear, navigate into it.

  2. Execute npm install to install the node dependencies.

  3. 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)

    Example of Dashboard and Console

  4. 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

Config

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]
    }
  }
  },
]           

Dependencies

  • request (installed via npm install)

Notes

  • 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:
    1. Michael Teeuw for creating MagicMirror2 which made this project possible.
    2. Sam Lewis whose MMM-Traffic module which I used a guide for much of this projects creation.
    3. University of Minnesota Anderson Labs which allowed me create the physcial mirror which this software was written for. Both the Taylor Student Project Fund and Anderson Labs free to use equipment were vital in the creation of my project.
You can’t perform that action at this time.