This repository is based on a Fitness application written in Java.
Requirements
- Maven 3.6.3
- JDK 14
Clone the repository
$ git clone https://github.com/collinkleest/JavaFit.gitChange directory into JavaFit
$ cd JavaFit/Install dependencies with maven.
$ mvn clean installNow run the application (There will be several warnings due to Xlint:unchecked in the pom.xml; see bottom of README.md for details)
$ mvn clean javafx:runAll dependencies are placed in the pom.xml file. When the Maven project is build dependencies should compile and be added into the project, therefore allowing it to run.
JavaFX
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>14</version>
</dependency> JavaFXML
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>15-ea+4</version>
</dependency>Bootstrap Fx (Design Framework)
<dependency>
<groupId>org.kordamp.bootstrapfx</groupId>
<artifactId>bootstrapfx-core</artifactId>
<version>0.2.4</version>
</dependency>JFOENIX (Design Framework)
<dependency>
<groupId>com.jfoenix</groupId>
<artifactId>jfoenix</artifactId>
<version>9.0.8</version>
</dependency>JSON-Simple
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>MongoDB Client
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.2</version>
</dependency>JavaFit
│ README.md
│ LICENSE
│ pom.xml
|
└── img/project-snapshots
| └─ *.png
|
└───src/main/java
│ │
│ │
│ │
│ └───com.javafit.View
│ │ │ LoginView.java
│ │ │ Register.java
│ │ | RegistrationView.java
| | | NewPassView.java
| | | ResetPassView.java
| | | ReportView.java
| | └── BMICalculatorView.java
│ |
| └─── com.javafit.Model
| | | Person.java
| | | Routine.java
| | └── User.java
| |
| └───com.javafit.Controller
| | LoginController.java
| | NewUserController.java
| | CustomRoutineController.java
| | SettingsController.java
| | RoutineController.java
| | DashController.java
| | ReportController.java
| | BMICalculatorController.java
| | ResetController.java
| └── SendResetController.java
└───src/main/resources
| |
| | dash.fxml
| | routinemaker.fxml
| | routinePane.fxml
| | routines.fxml
| └── settings.fxml
└────────────────────────────────
- GUI Interface
- Account Login
- Account Settings Modification
- Reporting
- Report progresss
- New weights
- Pie charts
- Weight Tracking
- Calorie Tracking
- Personalized Suggestions
- Suggested Calories
- Suggested Macros
- Suggested Routines
- Exercises
- Custom Routines
- Routine Viewer
- Cross Platform
- Mac, Windows, Linux
- BMI Calculator
Registration
DashBoard
Routines
Custom Routines
Custom Reporting
Account Management
BMI Calculator
Password Reset
- UI / UX
- Registration View
- Fields
- Checkboxes
- Accept terms and conditions
- Improve user experience
- Improve astetics
- Grid Layout, component placement
- Colors, UI overall looks better
- Login View
- Fields
- Login, Create Account button
- Improve user experience
- Improve astetics
- Colors, UI overall looks better
- Forgot Password
- Routines View
- Dashboard View
- Password Reset View
- Registration View
- Backend
- DB
- MongoDB external DB setup
- MongoDB DB connection
- Test users in database
- routine databse
- User
- Password Hashing
- JSON
- Reset password functionality
- DB
The simple-json jar we have utilized for this project has caused it and there is no workaround. In the documentation for the jar (linked below) it says:
NOTE: With respect to the screen output shown on this page, ignore the possibility of output or lack of output similar to the following: Note: Code99.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.
We have left the Xlint:unchecked compiler warning in our pom.xml so you are able to see this is coming from the simple-json jar file's ".put" commands.