Personally, keeping myself on track with my academics has been quite challenging. I have used web apps such as SuperProductivity as well as Taskade, and they have in fact helped me tremendously. For this reason, I have decided to make something similar. Something that can help students like me overcome procrastination and get to work.

What it does.

  • Lets you set a TIMER. The timer has been built dynamically to allow for stops in between, and for either a short break of 5 minutes, or a long break of 15 minutes. The default timer, as of now, is 30 minutes.
    • Lets you PLAN YOUR DAY: The Task-List button takes you to a page that automatically generates a prepared to-do list.
    • Lets you KEEP TRACK OF WHAT YOU'RE STUDYING: Every day, the Calendar (without an API, all from scratch), to allow you see the date. In addition, you can set to-do lists that are specific to academics.

How I built it

  • I started by building and styling the home page. Only Html, CSS, and the Bootstrap framework were used for this section
  • Next, I proceeded to make the other pages: /timer, /study-tracker, and /work. I employed NodeJS, Express, and other dependencies in order to render the different web pages on my local host.
  • Then, I began to build functionality into those web pages. This was the crux of the project. I had to create a timer, calendar, and to-do list without plug-ins.
  • In addition, I felt it was important to use ejs as opposed to creating multiple HTML files with the same style, and similar content.

Challenges I ran into

  • - I ran into a merge conflict whilst trying to update my remote repository via CLI. It took me some time, and courage I must add, to return to square one. Thankfully, I had not gone too far, and my previous commit hash was just as good if not better.
  • - I spent a great deal of time attempting to create my custom Quote Generator API. I however, had to terminate those efforts as I realized that it would be better investing time in the skeleton of the project, than in its minor details.

Accomplishments that I'm proud of

  • Creating a timer: It was my first time creating a timer, and I'm glad I did it with pure JS.
  • Deploying a multi-page web app: I was able to connect multiple HTML/EJS files using Node.
  • Gaining a better understanding of how EJS works

What I learned

  • How to create a pomodoro timer with pause, stop, and breaks in between
  • How to resolve a merge conflict
  • How to make buttons links, capable of delivering data

What's next for Thunder Tracker

  • Minor bug fixes
  • Better user experience: better-built timer, implementation of a calendar, smoother transitions & animations, quote API.
Share this project: