Inspiration

When we initially thought of a new year's hack, the first thing that came in mind were new years resolutions which was where the goal tracker idea came from. We also wanted to add a social media aspect to it and thought of other apps such as Twitter which uses a bird as their main theme. Instead, we decided to use cats because they are versatile and can be drawn in cute art styles which makes up CaliGoal's aesthetic. The title of our app is a cross between the cat breed calico (also our logo cat) and the word goals, hence the name CaliGoals.

What it does

Caligoals is a time-based goal tracker app where the user can add goals, their target time, and keep track of the time spent on each of their goals. As the user continues to spend time tracking their goals, their cat will evolve with different outfits as they "grow" with the user. But not only does the cat evolve, the user can also earn badges which will be displayed on their profile.

In addition to being a tracker app, CaliGoals is also a social media app where the user can view their friends' cats, their badges and as well as their completed and ongoing goals.

How we built it

Front-end: The front-end was made with PySimpleGUI. The cat images were sourced from a character maker on PiCrew while the badges were made on FireAlpaca.

Back-end: The back-end was created using Spring boot and a mysql database. It uses hibernate to set up the database tables, Spring data JPA to query it, and Spring MVC to set up the API endpoints for the front-end to talk to.

Challenges we ran into

  • Lots of merge conflicts
  • Learning PySimpleGUI from scratch for this hackathon
  • Work Fatigue
  • Git acting up on us

Accomplishments that we're proud of

Overall, we are proud of our final product. We had a great team chemistry, there were rarely any issues with communication between team members and everyone was generally on the same page. We were almost always on task and we are proud of the organization and planning we put into this project. This effort proved to payoff in our UI, despite our lack of experience in PySimpleGUI, we managed to make a UI that we are proud of. Also, because of how well the roles were distributed, the back-end code was basically finished on the first day which allowed all of us to eventually focus on design and implementation of the UI.

What we learned

We had to learn PySimpleGUI for the front-end and how to connect the back-end to a Python front-end. None of us had used PySimpleGUI before so we had to work together to understand and translate our ideas into code.

Most of all, we learned how important it is to have good team members and how much good team work pays off. We learned that no matter how talented your team may be, good communication and planning results in a final product that everyone is happy about. Most of us are new to front-end programming and GUI design and because we were working from the same Python file, we needed to keep up good communication to stay on the same page.

What's next for CaliGoals

CaliGoals will not remain as just a hackthon weekend project, we are planning to continue working on it after the hackathon.

We would like to add more features that didn't make it into the final project, including allowing users to post about their progress, adding friends, and communication between friends. We also want to use a different front-end technology from PySimpleGUI. As easy as it was to set up, we would like to use something a little more versatile.

Built With

Share this project:

Updates