The issue that inspired me to create Task Pet was students struggling with online classes during the pandemic. Many students have had trouble getting assignments done, managing their time effectively, and staying motivated when schools everywhere are closed. Task Pet is meant to help students stay on top of their assignments by providing some extra cute motivation. The app draws visual inspiration from other cute pet games like Neko Atsume. Additionally, the cat in the app is meant to look like my cat in real life.
What it does
In Task Pet, you can track your class assignments as well as have a cute pet cat. The app allows you to add assignments to a to-do list, including the name, class, and due date. Users can check off the assignments as they finish them, which moves them to a finished list. If your assignment is past due, your pet loses a happiness level. They get more sad every time you put in a past due assignment. But don't worry!! Every time you check off an assignment, you earn 5 stars, which can be spent in the store to buy hats that go on your pet and restore their happiness. Task Pet is meant to help students to complete their work in a timely fashion by having the added motivation of a pet to make happy.
How I built it
Task Pet is coded in Java. I used Java Swing for the GUI components, and WindowBuilder to design the windows. I used the Eclipse IDE to write all my code. All the artwork was made by me on Procreate.
Challenges I ran into
There were many bugs that appeared throughout the process of making Task Pet that I had to work through, such as empty date inputs throwing exceptions. One particular challenge I had was making the scroll bar on the to-do list work with the checkboxes; I had to learn about new Java Swing layouts in order to make it work. I also struggled with finding an efficient way to structure my classes and windows.
Accomplishments that I'm proud of
I was able to complete this prototype of Task Pet in under 24 hours, which I am very proud of. Additionally, I was able to apply a lot of knowledge from my college CS classes into this project (e.g. data structures, designing a complete program with multiple classes, conditional statements, and even Javadoc commenting), which makes me feel like I'm really learning at my university.
What I learned
I learned more about using Java Swing to build GUIs, such as using different layouts and JTextAreas. I also learned a lot about structuring a project efficiently by dividing it into classes that work together well, with fields and methods that make sense.
What's next for Task Pet
I would love to see Task Pet as a mobile app in the future. There are also lots of others things I want to add as well: new types of pets other than the cat, a way to read and write to a file so you can save your progress, a way to consistently check your assignments for lateness, more hats and outfits, naming your pet, an inventory feature to store the hats you've already bought so your pet can change...all that along with bug fixes (of course), cleaning up some inefficiencies, and polishing the artwork/GUI. This is only the very first prototype.