Skip to content

USCFit is an Android fitness app designed for users to record daily activities, customize workout plans, and track progress at ease. (Android, Java, Firebase)

Notifications You must be signed in to change notification settings

PMoonTest/USCFit

Repository files navigation

USCFit - CSCI310 Group Project

  • Developers:
  1. Haozhe Chen (haozhech@usc.edu)
  2. Muyao Xu (muyaoxu@usc.edu)
  3. Shunkai Zhang (shunkaiz@usc.edu)
  4. Siyuan Xu (siyuanx@usc.edu)
  5. Zhixu Li (zhixul@usc.edu)
  • Improvements Made Since Sprint 3
  1. The progress page will automatically display a badge if a user finished all the planned activities

  2. We changed the background and text colors of AddPlanActivity and AddSportActivity.

1

1

  1. We also improved user experience by returning to homepage automatically after we've submitted the plan.

1

1

  1. We also increase get plan response time so it can be faster.

5. We improved the UI on AddActivity page, letting user to choose from 8 sport types in the dropdown list.

1

  • Improvements Made Since Sprint 2
  1. The first improvement is to add a facebook login functionality in the login page.

sprint2_1

We display the login page in the screenshot and there is a button for you to login.

  1. When we click on the footstep button on the home page, it will make a call to database so that it's updated dynamically.

1

  1. The third improvement task is in the add sports page that we can pre-compute a calories consumption for the user

sprint2_2

sprint2_3

In the screenshot, we have a button called AUTO CALCULATE CALORIES RATE so that you can get an option to get a calories consumption based on height, weight, and age.

  1. The fourth improvement task is we added a button for each planned activity displayed in the progress page and users can log the activity by clicking on the button

1

  1. The fifth improvement task closely relates to the fourth one. We added a search page in progress page that allows user to search for the work out plan in a particular day

1

1

  1. The sixth improvement task was about fixing bugs. Basically, each activity object in database has a date, and when we add the activity in AddPlanActivity, the activity date is always the current date, which should have been the whatever date set in the plan instead.

1

For example, today is 11/19, and before fixing the bug, all dates shown in the screenshoht will be 11/19, even though we've set the actual plan date as 11/17. This bug is a major one because we need to resolve this in order to implement improvement #5.

  • Improvements Made Since Sprint 1
  1. The first improvement task of our team for this sprint is to add a Footstep text field functionality when adding a plan. Here is what we've got:

1

The effect of this improvement would be reflected in our progress section, where the bar shown in the screenshot would show a progress in terms of the footsteps completed.

1

  1. For the second improment task, we added username, email, age, height, weight info to Profile page. User is also able to update personal info using the "wrench" icon at top-right corner of the Profile page.

1

User must input all of the fields in order to trigger an update, otherwise there will be alert box asking for complete input. After updating the user's info and hits back, the presented user information will be automatically updated.

1

1

  1. We also added more detailed information to the progress page. Now the user can see all the goals in each day's plan

screen shot 2018-11-04 at 7 28 30 pm

  • Setup Instructions
  1. Follow the regular setup steps for Android Projects.

  2. The emulator version for testing purposes would be: Nexus 5X API 28 (Android 9, API28).

  3. If you need a user that's already filled with information, here it is:

      Username: haozhech@usc.edu

      Password: 123456

  • Detailed Steps
  1. When the user first logs in (assuming it's a new user), he/she should add a sport.

    a. If the user has registered his/her email before, and the password is correct, then the user will be redirected to the user homepage. If the password is incorrect, the app will stay on the original page, and the user will be notified of the wrong password.

    b. If the user hasn't registered his/her email before, then the app will send his/her email and password to backend and allows for user login.

  2. After user logs in, make sure you add a sport into your account!

  3. When the user adds an activity (in both Add Activity and Add Plan), make sure to select OK after picking the start/end time. Otherwise the app will not allow for submission.

  4. After user adds a plan, user can click on the progress page (expect 10 seconds for this page to load, so just be patient!) and will see the progress with badges.

  5. After user adds an activity/plan, user can click on the progress button on bottom right, and you will see a list of all sports, activities and their corresponding calorie consumptions.

  6. When the user clicks on the Footstep button on the top right corner, you will see the number of footsteps taken today. If you click on it again, it will resume to button mode.

  • Detailed Page Information:
  1. Login Page

login

      When the user types in the email and password, there would be two cases:

a. If the user has registered his/her email before, and the password is correct, then the user will be redirected to the user homepage. If the password is incorrect, the app will stay on the original page, and the user will be notified of the wrong password. 

b. If the user hasn't registered his/her email before, then the app will send his/her email and password to backend and allows for user login. 
  1. Home Page

home_page

      This is the place where user gain access to all core functionalities of this application, which include Footstep, Add Activity, Add Sport, Add Plan, Progress, and User Activity and Plan Profile.

The following points explain the different core functionalities location in Home Page:

  1. Footstep Button

foot_step

foot_step2

      On the top right corner, user can click on the Footstep button to access the daily footstep taken.

  1. Add Activity Page

add_activity_btn

add_activity

      This is where the user can add finished activities for calorie calculation. The user can add activities that is already finished, with starting and ending time so that our system can calculate the corresponding calorie.

  1. Add Sport Page

add_sport

add_sport

      This is where user can add new sport and its corresponding calorie per hour into his/her account.

  1. Add Plan Page

add_plan_btn

add_plan

      This is where the user can add future daily plan and activities. A plan contains multiple activities for one single day, and user may add activities with starting and ending time of the plan date.

  1. Progress Page

progress_btn

progress

      This is where the user can view the workout plan progress. If the user user finsihes one daily plan, 1 badge will be awarded. If the user has finished 7 consecutive daily plans, he/she will receive a large badge.

  1. Profile Page

profile_btn

profile

      This is where the user can view user's sports and their corresponding calories per hour. It will also include user's activities and all their corresponding calories consumed.

About

USCFit is an Android fitness app designed for users to record daily activities, customize workout plans, and track progress at ease. (Android, Java, Firebase)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages