Skip to content

Latest commit

 

History

History
64 lines (48 loc) · 3.19 KB

README.md

File metadata and controls

64 lines (48 loc) · 3.19 KB

My Personal Project

Project Description

My personal project is a fitness application called JavaFit.

This app will be available for anyone who is willing to begin their fitness journey; therefore, everyone can use it!

In this app, you will be able to...

  • set new fitness goals
  • track your calories
  • enter your workouts
  • AND MORE!

This project is interesting to me because I love fitness and health. I enjoy working out and progressively making my body stronger/healthier.

User Stories

  • As a user, I want to be able to add an exercise into a list of exercises (a workout).
  • As a user, I want to be able to insert my calories for my meal and add its macros.
  • As a user, I want to be able to add a new goal into a list of my fitness goals.
  • As a user, I want to be able to view my workout.

Phase 2 User Stories:

  • As a user, I want to be able to save my workouts, fitness goals, and daily meals to file.
  • As a user, I want to be able to reload my workouts, fitness goals, and meals from the last time they were saved.

Instructions for Grader

  • You can generate the first required event by clicking the fitness goals button on the main menu. You can add a new fitness goal (X) by typing into the text box at the top, then pressing "enter" on the keyboard to add the goal to the list (Y) -- the event for adding is a key event (you can also add by clicking the add button).
  • You can generate the second required event by clicking the fitness goals button on the main menu. You can remove a fitness goal (X) by selecting a goal in the list, then clicking on the completed button at the bottom of the frame to remove it from the list (Y) -- the event for removing is an action event.
  • You can locate my visual component by running Main in the ui package. The visual component is an image in the center of the main frame. It represents the logo for JavaFit.
  • You can save the state of my application by going to the menu bar at the top left in any of the GUIs aside from the main menu and workoutsGUI. For example: if you wish to save your fitness goals, click on the fitness goals button in the main menu, add whichever goals you please, then go to the menu bar and select the save option.
  • You can reload the state of my application by following the same process as saving except choosing the load option instead of the save option.

Phase 4: Task 2

Sample of adding a fitness goal then removing it afterwards:

Tue Aug 09 16:03:41 PDT 2022

  • eat more food added to list of fitness goals!

Tue Aug 09 16:03:44 PDT 2022

  • eat more food removed from list of fitness goals!

Phase 4: Task 3

  • I would add exceptions into the design of my application so that it becomes more robust, especially when implementing the adding and removing methods for my lists.
  • There is a decent amount of duplication of code seen within the GUIs, especially seen in the GUIs for workouts. I would have liked to create a class that becomes inherited by the GUIs to remove the redundancy of the code and make it easier for the reader to read.
  • I would have liked to implement my workouts as hashmaps with the given key being the workout and the values being a list of the exercises instead of the simple arraylists.