/BigFit

The Big Fit

Primary LanguagePython

Group1

Group 1 project team

Team Name: The Big Fit

Team Members: Serena Villacorta Yi Zhuang Seher Mumtaz Alaa Alhiadari

Instructions to run the program: In Cmder do the following:

  1. Navigate to c:\temp
  2. Clone project to c:\temp git clone https://github.com/SVILLACORTA/BigFit.git
  3. cd c:\temp\BigFit\Bigfitproject
  4. python manage.py runserver
  5. Open a web browser and type in http://localhost:8000/home in the URL bar

For detailed instructions with screen prints please view "Instructions to run Bigfit program.docx" file under the Documents folder.

Part A:

Project Concept: Weight Tracker

We will be building a weight tracker program that will help a person keep track of their weight. This program is perfect for those who need that extra motivation to lose weight by helping one visualize their progress.

User Stories:

As a user, I would like to be able to create an account, so that I may access the system. 3 days Priority 10

As a user, I would like to be able to log in/out, so that I may access the system. 3 days Priority 10

As a user, I would like to enter in my information such as my current weight, target weight, age, gender, height, and zip code, so that the system can have information about me. 3 days Priority 10

As a user, I would like to see the information I entered in, so that I can view my information. 5 days Priority 10

As a user, I would like to track my weight, so that can see a history of my weight. 3 days Priority 10

As a user, I would like to be able to update my information, so that I may make changes. 3 days Priority 20

As a user, I would like the ability to delete a weight entry, so that I can fix any mistakes. 3 days Priority 20

As a user, I would like to see visualizations, so that I can see my progress over time 10 days Priority 20

As a user, I would like to receive SMS messages, so that I will be reminded to enter in my weight. 3 days Priority 30

As a user, I would like a daily calorie suggestion, so that I can make healthy eating decisions. 3 days Priority 40

As a user, I would like to be able to enter my calories consumption, so that I can keep track of my calorie intake. 10 days Priority 40

As a user, I would like the ability to delete a calorie entry, so that I can fix any mistakes. 3 days Priority 40

As a user, I would like to be able to track my calories, so that I can see history of my calorie intake. 40 10 days Priority 40

As an owner, I would like to be able to visualize data aggregations, so that I might learn more about people and weight. 15 days Priority 50

Stakeholders:

Customer: People looking to lose/gain weight Health conscious people

Owner: us

Part B:

  1. Decompose your user stories into tasks
    1. Create splash screen
    2. Create login screen
    3. Create logo
    4. Create backend database objects
    5. Create entry screen
    6. Create main screen
    7. Create visualizations
    8. Create weight history screen
    9. Update entry screen
    10. Create SMS messaging
    11. Incorporate calorie suggestion
    12. Daily calorie consumption entry
    13. Update/delete calorie consumption
    14. Create calorie consumption tracking screen
    15. Create visualizations for admin

MILESTONE - I 2. ITERATION -1 Decompose your user stories into tasks (Oct 4 � Oct 15) Working days: 8 Days Create splash screen Create login screen Create logo Create backend database objects

3.ITERATION- 2 Decompose your user stories into tasks (Oct16 � Nov 8) Working days: 18 Days Create backend database object Create user information screen Create view information page Create update information page Create weight tracking page

MILESTONE - II Create weight history screen Update entry screen Create SMS messaging Incorporate calorie suggestion Daily calorie consumption entry Update/delete calorie consumption Create calorie consumption tracking screen Create visualizations for admin

  1. Build the iterations (at most 2) that will compose your Milestone 1.0. Record the total days of work and the time it will take for your team to complete that work.

(Oct 4 - Nov 8 - 1Milestone, 2 iterations) Total days of work = 26 days (Nov 9 - Dec 13 - 2Milestone ) Total days of work 20 days

  1. Make sure you have dealt with velocity before breaking into iterations.

     Milestone -I
          Velocitiy = 30% or 0.3 per person
     4(person) X 26(days) X 0.3(V)  = 31 amount of work for 1 Milestone
    
     Milestone - II
           Velocity = 30% or 0.3 per person
      4(person) X 20(days) X 0.3(V)  = 24 amount of work for 1 Milestone    
    
  2. Allocate tasks to each team member and record the allocation.

    1. Create splash screen - Alaa
    2. Create login screen - Yi
    3. Create logo - Seher
    4. Create backend database objects - Serena
  3. Create a burn down chart for monitoring your team’s progress.

    1. Please see "burndown chart- 1 milestone.jpg" under Documents folder
    2. Please see "burndown chart- 2 milestone.jpg" under Documents folder
  4. Include evidence that you are meeting for periodic stand up meetings with your teammates.

    1. Please see meeting minutes under documents folder

Part C:

1.We are using a Python3+Pycharm+Django environment to work on the website. Please download 'Bigfitproject' folder under our git repository and open it with Python IDE. You can use any IDE contains Django to see our progress(We are using Django professional).

2.Right now, we finished a simple front end design to achieve user register and login, you can see the codes in views.py file under root folder.

3.Also HTML coding for index, login, register webpage, you can find them in 'templates' folder under root folder.

4.You can also run the project, then open a webpage and enter 'http://127.0.0.1:8000/index' to take a look on our current webpage. We are still working on integrate front end coding with our database, so the system could not work for collecting data.

5.For pytest of our project, you can find them in the folder 'tests'.

6.For running pytest, please open the terminal first, and enter 'pip install pytest-django' under root folder. Then, just enter 'pytest' under root folder to see the pytest result.

  1. Remaining tasks: a. Add calorie tracking abilities b. Modify UI c. Add graphs d. Add BMI calculations e. Add weight status f. Add SMS capabilities g. Allow user to edit and/or delete their data

Part D:

Most important things you learned about software development in your project:

  1. Teamwork which consist of having effective communication, collaboration, the ability to work through problems, and respect for each other was essential to our team's success.

  2. We were all working simultaneously so using a version control system like GitHub was crucial.

  3. The ability to quickly learn new tools is necessary. None of us knew how to develop a Django app, add charts, send SMS messages, etc. so we had to quickly pick up these new skills.

  4. As the project progressed, we learned more and more about the Python language. Often, we encountered errors and diligently tried to resolve them. This process gave us a deeper understanding of the language.