Created by: Jake Phelan
Screen.Recording.2024-07-21.at.12.11.56.AM.mov
JFit is a Java-based fitness application that helps users manage their workout routines, track their calorie and protein intake, and monitor their fitness progress. The application provides personalized workout plans based on the user's preferences and fitness goals.
- User account creation and login system
- Personalized workout plans based on user's fitness level and goals
- Daily workout schedule with exercises, sets, and reps
- Calorie and protein intake tracking
- Body measurements tracking (weight, height, etc.)
- Customizable workout frequency (3-7 days per week)
- Progress tracking and goal setting
- User profile management and updates
- Java: Primary programming language
- JavaFX: GUI framework for creating the desktop application
- FXML: XML-based user interface markup language for JavaFX
- CSS: Styling for the JavaFX UI
- File I/O: For reading workout data from CSV files and storing user data
- Jackson: JSON processing for API interactions (nutrition data)
-
Clone the Repository
git clone https://github.com/jakephelan1/JFit.java.git cd JFit.java
-
Install Dependencies
- Ensure you have Java JDK 11 or later installed
- Make sure JavaFX is set up in your development environment
-
Set Up the Project
- Open the project in your preferred Java IDE (e.g., IntelliJ IDEA, Eclipse)
- Configure the project to use JavaFX
-
Run the Application
- Run the
App.java
file to start the application
- Run the
- Launch the Application: Run the
App.java
file - Create an Account or Login: Use the login screen to create a new account or log in
- Set Up Your Profile: Enter your personal details, fitness goals, and preferences
- View Your Workout Plan: Navigate through the daily workout plans
- Track Your Progress: Enter the food you eat throughout the day to keep track of your calorie and protein intake.
- Update Your Information: Modify your profile information as needed
src/main/java/application/jf/
App.java
: Main application fileButtonsCont.java
: Controller for main buttonsController.java
: Main controller for user data and navigationDayCont.java
: Controller for daily workout viewLogin.java
: Handles user login and account creationUpdateInfo.java
: Manages user profile updatesUserData.java
: User data model
src/main/resources/
CSVs/
: Contains workout plan CSV filesapplication/jf/
: FXML and CSS files for UI
This project is for educational purposes. Always consult with a healthcare professional before starting any new fitness regimen.