Skip to content

velvi-stud/BodyDiary-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PROG3 PROJECT


Logo

BodyDiary


Explore the docs »
Report Bug
Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Element expenation
  5. Contact
  6. License

About The Project

BodyDiary is a management software application that allows you to keep track of all the most important body measurements such as weight, waist, hips, thighs, biceps and to calculate some anthropometric measures such as percentage of fat mass, percentage of lean mass, height-waist ratio and waist-hips. Giving the possibility to immediately visualize the changes of your body statistics over time, since the data is automatically synchronized in the DB and represented in the graphs created. It is also possible to download your information on files in pdf or docx format.

Built With

This project was built using:

  • Eclipse as IDE for java
  • SceneBuilder as FXML constructor
  • Drow_io to drow diagrams
  • DerbyDb to storage data

User librery:

  • JavaFX: is an open source, next generation client application platform for desktop, mobile and embedded systems built on Java. It is a collaborative effort by many individuals and companies with the goal of producing a modern, efficient, and fully featured toolkit for developing rich client applications. JavaFX also is used with SceneBuilder that is an open source tool that allows for drag and drop design of JavaFX user interfaces.platform for desktop, mobile and embedded systems built on Java. It is a collaborative effort by many individuals and companies with the goal of producing a modern, efficient, and fully featured toolkit for developing rich client applications.
  • DerbyDB: is, an Apache DB subproject, is an open source relational database implemented entirely in Java and available under the Apache License, Version 2.0. Some key advantages include:
    • Derby has a small footprint -- about 3.5 megabytes for the base engine and embedded JDBC driver.
    • Derby is based on the Java, JDBC, and SQL standards.
    • Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution.
    • Derby also supports the more familiar client/server mode with the Derby Network Client JDBC driver and Derby Network Server.
    • Derby is easy to install, deploy, and use.
  • iText: is a library for creating and manipulating PDF files in Java.
  • Apache poi : is a Library for creation and manipulation of doc file.

Getting Started

Prerequisites

You need to have java installed on your system. You can get the java from here.

Installation

  1. Clone the repo on a specific folder (or open directly using Eclipse in File --> Import -> Git -> Projects from git -> Clone URI) using following link
$ https://github.com/velvi-stud/BodyDiary-Project.git
  1. Open the foalder in a project IDE and make sure to set in run configuration VM Arguments the line :
--module-path ".\lib\javaFX-17.0.0.1\lib" --add-modules=javafx.controls,javafx.fxml
  1. And launch the program using that configuration.

Usage

When BodyDiary app is open you can see the start page that can allow you to start login or sing up. When you are logged, you will see directly the home of the app, otherwise you have to sing up to be identified. When you are in the home, you can see, on the left of a page:

  • Button to insert data.
  • Button to watch the antropometric measurment.
  • Button to set and watch goals.
  • Button to download the measurement in a specific format.

On the right, you can see a list of graphs that represent a line chart of the measurament (such as biceps, weight, waistline and so on) and its progress. On the vertcal axis there are the values of the measure, on the horizontal axis there are the date of the single measure.

Element explanation

DerbyDB schema

The Database used newDerbyDB is composed by three tables

  • UserData is the first table that store the user data such as:
    • Email
    • Name
    • Surname
    • Password
    • Gender
    • Birth date
  • UserMeasure is the table and it's used to store user's measurments data:
    • Email
    • Date
    • weight
    • thighs
    • chest
    • height
    • forearms
    • biceps
    • hips
    • waistline
    • calfs
  • UserGoals is the third table and it's used to store user's body goals:
    • Email
    • Date
    • Type
    • Goal

Contact

Romeo Velvi - romeo.velvi001@studenti.uniparthenope.it
Pasquale Casoria - pasquale.casoria001@studenti.uniparthenope.it

Project Link: https://github.com/velvi-stud/BodyDiary-Project

License

Apache license 2.0