Inspiration

I was inspired by my own experience with the beginning of another online semester. In the fall term, I often times skipped my lectures because I knew my professors recorded them anyway, but this quickly became my downfall as I had to feverously cram my lectures before all my midterms. On top of that, for my one course that was not recorded, I would forgot about it once or twice and had nothing to watch except my own demise. To help combat this, I decided to create an Chrome extension that would help.

What it does

To use this extension, you would input your course information such as course name, time of the course, which days it's on, and the link to the virtual lecture (or in the case that your professor changes links, you can link it to where you would find the lectures)! Once it has this information, it will always remind you when you have class, and provides the link to you while you are on Google Chrome!

How I built it

This was my first Chrome extension, and I didn't want to complicate things so I stuck solely with JavaScript and chrome APIs. I used what I learned from the Chrome Extension workshop and slowly added new types of events and listeners.

  1. The Alarms API from Chrome was definitely the most crucial piece as that is what I used to set the remind and activate the popup window.
  2. Next, I used the Storage API that Jeff demonstrated in his workshop to save the data of the user's courses information
  3. I ran a clock that updates the reminders on a daily basis to keep up with the user's schedule
  4. Lastly I displayed the reminder on whatever page the user is currently on through the same method that Jeff's notes did in the workshop example

Challenges I ran into

Overall, I would say my biggest challenge was that I didn't understand the structure and lifecycle of an extension in the beginning, which lead me through a lot of pain and research before I began to grasp it. Beyond that, each API that I encountered was definitely a challenge, especially Alarm API, as I didn't know where to put the listener at first. The one that gave me the biggest headache, which ties back to my lack of understanding in the structure, was how to display the reminder onto the page the user is actually browsing. Fortunately, I was eventually able to figure that out from the workshop example code (thank you so much Jeff).

Accomplishments that I'm proud of

The fact that it actually works! On a serious note, at the end of the second night, I definitely thought I would not even get the most basic function of my idea done at this Hackathon, but here we are! I am very proud of tackling a new environment and putting together my first Chrome Extension!

What I learned

I learned how to create a basic Google Chrome Extension (much harder than I imagined)!

What's next for Class-Reminder-Extension

  1. Need to allow the user to configure and delete old or incorrect courses
  2. Allow users to also keep track of tests and assignments!
Share this project:

Updates