Thanks to visit codestin.com
Credit goes to github.com

Skip to content

collinkleest/JavaFit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaFit

This repository is based on a Fitness application written in Java.

Table of Contents

  1. Installation
  2. Dependencies
  3. File Structure
  4. Features
  5. Project Showcase
  6. Tasks

Compatibility

Requirements

  • Maven 3.6.3
  • JDK 14

Installation

Clone the repository

$ git clone https://github.com/collinkleest/JavaFit.git

Change directory into JavaFit

$ cd JavaFit/

Install dependencies with maven.

$ mvn clean install

Now 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:run

Dependencies

All 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>

Project File Structure

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
└────────────────────────────────

Features

  • 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

Project Showcase

Registration

"create_account"

DashBoard

"dashboard view"

Routines

"routines view"

Custom Routines

"custome-routines"

Custom Reporting

"custom-reporting"

Account Management

"account management"

BMI Calculator

"bmi-calc"

Password Reset

"pass-reset"

Tasks

  • 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
  • Backend
    • DB
      • MongoDB external DB setup
      • MongoDB DB connection
      • Test users in database
      • routine databse
    • User
      • Password Hashing
      • JSON
    • Reset password functionality

Why are there compilation warnings?

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.

Link to Documentation

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.

About

This repository is based on a Fitness application written in Java.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages