Coder Social home page Coder Social logo

caloriestracker's Introduction

Calories Tracker, Fitness Application, Java

BCH compliance

This project was designed to help with tracking calories and achieving fitness goals.

Full Requirements:

  1. Login/account system for the user to save data (age, weight, height, gender)

  2. Select the current goal as either: Lose weight, maintain or gain weight (muscle)

  3. Be able to input the food eaten on the day both manually and from a database

  4. See a quick summary of foods eaten related to the macros required

  5. Be able to enter exercises done & estimate calories burned

  6. Show time-lapse of progress over a course of months

  7. Send notifications to the user if they haven't filled anything in today

  8. Options to keep the same food entered the next day if the user plans to

  9. Have hypertrophy training and strength training options

  10. Have HIIT training methods

  11. Suggest supplement usage

  12. Dashboard should contain various widgets: 11. a. Progress of today and previous days in form of a bar chart (for calories eaten per day) 11. b. Pie chart of the daily Macros break down (protein, fats, carbs) 11. c. Summary of current goal, workout intensity set, and when goal is estimated to be completed 11. d. Circular progress bar (or pie chart?) of weight progress with estimate of weeks left till goal etc 11. e. Water intake status 11. f. Sleep per day status

Minimum Requirements:

  1. Login/account system
  2. Input food per day and save to database

Login Page

Main

Summary Page

Main

Diet Page

Main

Exercises Page

Main

caloriestracker's People

Contributors

rk16449 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

caloriestracker's Issues

Bug: Adding new food

Adding new foods onto new days will subsequently change quantities for all days to be the same

Services

Possibly break down app so retrievals from sql is handled by a service or php script

Refactor MainProgramController.handleSubmitButtonAction(ActionEvent)

I've selected MainProgramController.handleSubmitButtonAction(ActionEvent) for refactoring, which is a unit of 18 lines of code. Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Short Units of Code guideline rating! ๐Ÿ‘

Here's the gist of this guideline:

  • Definition ๐Ÿ“–
    Limit the length of code units to 15 lines of code.
  • Whyโ“
    Small units are easier to analyse, test and reuse.
  • How ๐Ÿ”ง
    When writing new units, don't let them grow above 15 lines of code. When a unit grows beyond this, split it in smaller units of no longer than 15 lines.

You can find more info about this guideline in Building Maintainable Software. ๐Ÿ“–


โ„น๏ธ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the ๐Ÿ”ฒ next to them. The risk profile below the candidates signals (โœ…) when it's enough! ๐Ÿ


Good luck and happy coding! :shipit: โœจ ๐Ÿ’ฏ

Exercises Tab

Exercises on the graph are shown incorrectly, needs to be able to show a yearly progression (in averages), a monthly progression and weekly

Refactor 9 lines occurring 2 times in 2 files: CreateAccountController.java, LoginController.java

I've selected for refactoring 9 lines of code which are duplicated in 2 file(s) (1, 2). Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Code Once guideline rating! ๐Ÿ‘

Here's the gist of this guideline:

  • Definition ๐Ÿ“–
    Do not copy code.
  • Whyโ“
    When code is copied, bugs need to be fixed in multiple places. This is both inefficient and a source of regression bugs.
  • How ๐Ÿ”ง
    Avoid duplication by never copy/pasting blocks of code and reduce duplication by extracting shared code, either to a new unit or introduce a superclass if the language permits.

You can find more info about this guideline in Building Maintainable Software. ๐Ÿ“–


โ„น๏ธ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the ๐Ÿ”ฒ next to them. The risk profile below the candidates signals (โœ…) when it's enough! ๐Ÿ


Good luck and happy coding! :shipit: โœจ ๐Ÿ’ฏ

Refactor Item.java

I've selected Item.java for refactoring, which is a module of 24 lines of code and 35 incoming calls. Addressing this will make our codebase more maintainable and improve Better Code Hub's Separate Concerns in Modules guideline rating! ๐Ÿ‘

Dates Issue

Methods for returning the start/end of the week are returning wrong values

Date Start ----------------> : Mon Sep 03 00:00:00 BST 2018 (correct)
Date End ----------------> : Sun Sep 02 23:59:59 BST 2018 (wrong)

Refactor Day.java

I've selected Day.java for refactoring, which is a module of 88 lines of code and 26 incoming calls. Addressing this will make our codebase more maintainable and improve Better Code Hub's Separate Concerns in Modules guideline rating! ๐Ÿ‘

Custom foods quantity bug

whenever we change the quantity of a custom food on entering or changing, it will change the original custom food in the add food table

Refactor 20 lines occurring 2 times in 2 files: CustomFoodController.java, EditCustomFoodController.java

I've selected for refactoring 20 lines of code which are duplicated in 2 file(s) (1, 2). Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Code Once guideline rating! ๐Ÿ‘

Here's the gist of this guideline:

  • Definition ๐Ÿ“–
    Do not copy code.
  • Whyโ“
    When code is copied, bugs need to be fixed in multiple places. This is both inefficient and a source of regression bugs.
  • How ๐Ÿ”ง
    Avoid duplication by never copy/pasting blocks of code and reduce duplication by extracting shared code, either to a new unit or introduce a superclass if the language permits.

You can find more info about this guideline in Building Maintainable Software. ๐Ÿ“–


โ„น๏ธ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the ๐Ÿ”ฒ next to them. The risk profile below the candidates signals (โœ…) when it's enough! ๐Ÿ


Good luck and happy coding! :shipit: โœจ ๐Ÿ’ฏ

Editing Custom Foods

Editing Custom Foods ( quantity) will not change its amount/macros with the correct original ratio it had when it was set

Refactor Person.java

I've selected Person.java for refactoring, which is a module of 121 lines of code and 70 incoming calls. Addressing this will make our codebase more maintainable and improve Better Code Hub's Separate Concerns in Modules guideline rating! ๐Ÿ‘

Here's the gist of this guideline:

  • Definition ๐Ÿ“–
    Avoid large modules with high fan-in (nr. of incoming calls).
  • Whyโ“
    This keeps the codebase loosely coupled which makes it easier to minimize the consequences of changes.
  • How ๐Ÿ”ง
    Identify and extract responsibilities of large modules into smaller ones and hide implementation details behind interfaces. Target having modules that have no more than 10 incoming calls.

You can find more info about this guideline in Building Maintainable Software. ๐Ÿ“–


โ„น๏ธ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the ๐Ÿ”ฒ next to them. The risk profile below the candidates signals (โœ…) when it's enough! ๐Ÿ


Good luck and happy coding! :shipit: โœจ ๐Ÿ’ฏ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.