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.