Fithub is a website application for athletes and fitness enthusiasts of all ages and experience levels.

Overview

TeamA13: Fithub

Welcome to the Github Repository for TeamA13's IMBD web application project! Note that all code in this repo is production-ready and should match the current deployed, functional state. The buildfiles for this project to run on Google App Engine includes the requirements.txt and app.yaml files. Requirements.txt lists all of the python libraries and dependencies that our web app needs to deploy.

Website Link: FitHub

Team Members:

Andy Wu

  • EID: amw5468
  • GitHub ID: wuhoo16
  • Tasks
    • Phase 1:
      • Youtube API testing and backend infrastructure: Estimated Completion Hours: 3
      • Youtube API testing and backend infrastructure: Actual Completion Hours: 3
      • Flask framework: Estimated Completion Hours: 1
      • Flask framework: Actual Completion Hours: 1
      • Youtube Channel model page design: Estimated Completion Hours: 3
      • Youtube Channel model page design: Actual Completion Hours: 3
      • Github branch/code integration: Estimated Completion Hours: 0.5
      • Github branch/code integration: Actual Completion Hours: 6
      • SERPSTACK API and broken image link debugging: Estimated Completion Hours: 1
      • SERPSTACK API and broken image link debugging: Actual Completion Hours: 3
      • Equipment model and instance pages: Estimated Completion Hours: 3
      • Equipment model and instance pages: Actual Completion Hours: 5
      • About Page Design and Content: Estimated Completion Hours: 1
      • About Page Design and Content: Actual Completion Hours: 2
      • Backend refactoring and MongoDB setup: Estimated Completion Hours: 4
      • Backend refactoring and MongoDB setup: Actual Completion Hours: 4
      • Blacklisting Bad Exercises and Fixing Bad Information: Estimated Completion Hours: 2
      • Blacklisting Bad Exercises and Fixing Bad Information: Actual Completion Hours: 3
    • Phase 2:
      • Design and API Result Modification for Cross-Model Linking Support: Estimated Completion Hours: 7
      • Design and API Result Modification for Cross-Model Linking Support: Actual Completion Hours: 5
      • Integrating Christopher's Branch with Updated Ebay API + Equipment Model/Instance Pages: Estimated Completion Hours: 0.5
      • Integrating Christopher's Branch with Updated Ebay API + Equipment Model/Instance Pages: Actual Completion Hours: 6
      • Integrating Kaylee's Branch with Updated YouTube APIs + Channel Model/Instance Pages: Estimated Completion Hours: 0.5
      • Integrating Kaylee's Branch with Updated Youtube APIs + Channel Model/Instance Pages: Actual Completion Hours: 1
      • Backend Helper Method Implementation for Cross-Model Instance Linking: Estimated Completion Hours: 4
      • Backend Helper Method Implementation for Cross-Model Instance Linking: Actual Completion Hours: 5
      • Refactoring codebase to improve runtime and object reference in routing methods and HTML Templates: Estimated Completion Hours: 3
      • Refactoring codebase to improve runtime and object reference in routing methods and HTML Templates: Actual Completion Hours: 3
      • Implementing all unittests to test the Python code/database communication: Estimated Completion Hours: 3
      • Implementing all unittests to test the Python code/database communication: Actual Completion Hours: 3
    • Phase 3:
      • Filtering implementation for all 3 model pages: Estimated Completion Hours: 5
      • Filtering implementation for all 3 model pages: Actual Completion Hours: 5
      • Updating Flask view function to support persisting filtered results across pagination pages: Estimated Completion Hours: 2
      • Updating Flask view function to support persisting filtered results across pagination pages: Actual Completion Hours: 3
      • Debugging and fixing frontend carousel control bug and linking issues from phase 2: Estimated Completion Hours: 1
      • Debugging and fixing frontend carousel control bug and linking issues from phase 2: Actual Completion Hours: 2
      • Adding javascript code to prevent bad form submission and persist checkbox states: Estimated Completion Hours: 4
      • Adding javascript code to prevent bad form submission and persist checkbox states: Actual Completion Hours: 8
      • Checking images on the exercises model page for mismatch on equipment usage + replacing with relevant GIFs: Estimated Completion Hours: 3
      • Checking images on the exercises model page for mismatch on equipment usage + replacing with relevant GIFs: Actual Completion Hours: 4
      • Using Adobe Premier to edit hype video, formatting video on HTML page, adding Javascript to handle autoplay/looping logic: Estimated Completion Hours: 2
      • Using Adobe Premier to edit hype video, formatting video on HTML page, adding Javascript to handle autoplay/looping logic: Actual Completion Hours: 4
      • Sorting Implementation for all 3 model pages: Estimated Completion Hours: 3
      • Sorting Implementation for all 3 model pages: Actual Completion Hours: 3
      • Selenium Testing for filtering functionality and final deployment: Estimated Completion Hours: 5
      • Selenium Testing for filtering functionality and final deployment: Actual Completion Hours: 5
    • Phase 4:
      • Full code refactor to improve website stability, remove backend server logic, and support multi-client usage: Estimated Completion Hours: 5
      • Full code refactor to improve website stability, remove backend server logic, and support multi-client usage: Actual Completion Hours: 16
      • Final debugging and deployment: Estimated Completion Hours: 5
      • Final debugging and deployment: Actual Completion Hours: 7

Kaylee N Trevino

  • EID: knt658
  • GitHub ID: kntrevi1
  • Tasks:
    • Phase 1:
      • Flask framework: Estimated Completion Hours: 1
      • Flask framework: Actual Completion Hours: 2
      • Youtube API testing & backend infrastructure: Estimated Completion Hours: 3
      • Youtube API testing & backend infrastructure: Actual Completion Hours: 4
      • Youtube Channel model page design: Estimated Completion Hours: 2
      • Youtube Channel model page design: Actual Completion Hours: 3
      • Youtube Channel three instance page designs: Estimated Completion Hours: 4
      • Youtube Channel three instance page designs: Actual Completion Hours: 6
      • Github branch/code integration: Estimated Completion Hours: 1
      • Github branch/code integration: Actual Completion Hours: 3
      • Home/Splash Page Design and Content: Estimated Completion Hours: 2
      • Home/Splash Page Design and Content: Actual Completion Hours: 4
      • Starting .py file to populate database in MongoDB: Estimated Completion Hours: 2
      • Starting .py file to populate database in MongoDB: Actual Completion Hours: 3
    • Phase 2:
      • Adding API calls to backend for channel model: 6
      • Adding API calls to backend for channel model: 6
      • Working on backend for channel model: 5
      • Working on backend for channel model: 6
      • Cleaning up and creating objects sent to MongoDB for channels: 3
      • Cleaning up and creating objects sent to MongoDB for channels: 3
      • Channel instance pages changing static data to dynamic data: 4
      • Channel instance pages changing static data to dynamic data: 4
      • Github branch/code integration: 1
      • Github branch/code integration: 1
      • Adding Selenium testing for channels model and channels instance pages: 2
      • Adding Selenium testing for channels model and channels instance pages: 3
      • Worked on reports and organization of leading team as project lead: 3
      • Worked on reports and organization of leading team as project lead: 3
    • Phase 3:
      • Search implementation for all 3 model pages in real-time: Estimated Completion Hours: 8
      • Search implementation for all 3 model pages in real-time: Actual Completion Hours: 9
      • Search implementation for all 3 model pages after entering search and updating cards: Estimated Completion Hours: 6
      • Search implementation for all 3 model pages after entering search and updating cards: Actual Completion Hours: 6
      • Updating Flask view function to support persisting searching and sorting results across pagination pages: Estimated Completion Hours: 3
      • Updating Flask view function to support persisting searching and sorting results across pagination pages: Actual Completion Hours: 3
      • Integration of and bux fixes when integrating stacking of sorting, filtering, and searching: Estimated Completion Hours: 5
      • Integration of and bux fixes when integrating stacking of sorting, filtering, and searching: Estimated Completion Hours: 6
      • Worked on corner/edge cases such as stacking resulting in no more instances: Estimated Completion Hours: 3
      • Worked on corner/edge cases such as stacking resulting in no more instances: Estimated Completion Hours: 4
      • Added testing to test the search bar functionality: Estimated Completion Hours: 4
      • Added testing to test the search bar functionality: Estimated Completion Hours: 3
    • Phase 4:
      • Full code refactor to modularize code and move code into classes and interfaces: Estimated Completion Time: 8 hrs
      • Full code refactor to modularize code and move code into classes and interfaces: Actual Completion Time: 10 hrs
      • Full code refactor to improve website stability, remove backend server logic, and support multi-client usage (pair-programmed with Andy): Estimated Completion Time: 10
      • Full code refactor to improve website stability, remove backend server logic, and support multi-client usage (pair-programmed with Andy): Estimated Completion Time: 14
      • Implementation of Model Facade Pattern: Estimated Completion Time: 4
      • Implementation of Model Facade Pattern: Estimated Completion Time: 5
      • Refactoring frontend to increase code reusability: Estimated Completion Time: 3
      • Refactoring frontend to increase code reusability: Actual Completion Time: 3

Christopher Saenz

  • EID: cgs2258
  • GitHub ID: ChriSaenz
  • Tasks:
    • Phase 1:
      • SERPSTACK API Setup and Integration: Estimated Completion Hours: 3
      • SERPSTACK API Setup and Integration: Actual Completion Hours: 4
      • Equipment Model Page Functionality and Design: Estimated Completion Hours: 4
      • Equipment Model Page Functionality and Design: Actual Completion Hours: 7
      • About Page Content: Estimated Completion Hours: 13
      • About Page Content: Actual Completion Hours: 0.5
    • Phase 2:
      • Initial Instance Page Work for All 3 Models: Estimated Completion Hours: 2
      • Initial Instance Page Work for All 3 Models: Actual Completion Hours: 2
      • eBay API Setup and Integration: Estimated Completion Hours: 6
      • eBay API Setup and Integration: Actual Completion Hours: 5
      • Update Equipment Instance Model Page to Fit eBay API: Estimated Completion Hours: 2
      • Update Equipment Instance Model Page to Fit eBay API: Estimated Completion Hours: 4
      • Equipment Instance Page Functionality and Design: Estimated Completion Hours: 3
      • Equipment Instance Page Functionality and Design: Actual Completion Hours: 2
      • Blacklisting of Non-Fitness Related API Results: Estimated Completion Hours: 1
      • Blacklisting of Non-Fitness Related API Results: Actual Completion Hours: 1
      • About Page Content: Estimated Completion Hours: 0.5
      • About Page Content: Actual Completion Hours: 0.5
      • Equipment Model Page Testing: Estimated Completion Hours: 2
      • Equipment Model Page Testing: Actual Completion Hours: 3
      • Equipment Instance Page Testing: Estimated Completion Hours: 1
      • Equipment Instance Page Testing: Estimated Completion Hours: 3
    • Phase 3:
      • Replace carousel in equipment instance pages: Estimated Completion Hours: 0
      • Replace carousel in equipment instance pages: Estimated Completion Hours: 1
      • Sorting for all 3 model pages: Estimated Completion Hours: 6
      • Sorting for all 3 model pages: Actual Completion Hours: 12
      • Modified design functions to support simultaneous filtering and sorting: Estimated Completion Time: 5
      • Modified design functions to support simultaneous filtering and sorting: Actual Completion Time: 6
      • Testing sorting and filtering for all 3 models: Estimated Completion Hours: 3
      • Testing sorting and filtering for all 3 models: Actual Completion Hours: 3
      • Testing JavaScript functions: Estimated Completion Hours: 6
      • Testing JavaScript functions: Actual Completion Hours: 5
    • Phase 4:
      • Test cases for issues found in Phase 3: Estimated Completion Hours: 4
      • Test cases for issues found in Phase 3: Actual Completion Hours: 2
      • Design Report and Technical Report: Estimated Completion Hours: 2
      • Design Report and Technical Report: Actual Completion Hours: 3

Michelle Wen

  • EID: mw37583
  • GitHub ID: michellewen3
  • Tasks:
    • Phase 1:
      • wger API integration: Estimated Completion Hours: 2
      • wger API integration: Actual Completion Hours: 6
      • wger API model page: Estimated Completion Hours: 1
      • wger API model page: Actual Completion Hours: 1
      • wger API instance pages and connection to other models: Estimated Completion Hours: 0.5
      • wger API instance pages and connection to other models: Actual Completion Hours: 1
      • wger API testing and filtering data: Estimated Completion Hours: 1
      • wger API testing and filtering data: Actual Completion Hours: 3.5
      • Flask framework: Estimated Completion Hours: 0.5
      • Flask framework: Actual Completion Hours: 1
      • Google Custom Search API integration: Estimated Completion Hours: 1
      • Google Custom Search API integration: Actual Completion Hours: 2
      • About Page Content: Estimated Completion Hours: 0.5
      • About Page Content: Actual Completion Hours: 1.5
    • Phase 2:
      • Pagination on all 3 model pages: Estimated Completion Hours: 3
      • Pagination on all 3 model pages: Actual Completion Hours: 2.5
      • Model Page User Interface with dynamic cards, hovering, better spacing for all 3 model pages: Estimated Completion Hours: 1
      • Model Page User Interface with dynamic cards, hovering, better spacing for all 3 model pages: Actual Completion Hours: 2.5
      • Exercise Model Page repairment (filling in missing description, fix broken image links): Estimated Completion Hours: 1
      • Exercise Model Page repairment (filling in missing description, fix broken image links): Actual Completion Hours: 2
      • Exercise Instance Pages User Interface with Carousel and better UI: Estimated Completion Hours: 1
      • Exercise Instance Pages User Interface with Carousel and better UI: Actual Completion Hours: 0.75
      • Update Exercise Equipment Data Store from Comma-Separated Strings to Array: Estimated Completion Hours: 0.15
      • Update Exercise Equipment Data Store from Comma-Separated Strings to Array: Actual Completion Hours: 0.25
      • Selenium Testing for Exercises Model Page, Instance Pages, and Pagination: Estimated Completion Hours: 1
      • Selenium Testing for Exercises Model Page, Instance Pages, and Pagination: Actual Completion Hours: 1.5
      • Selenium Testing for Homepage Carousel and NavBar: Estimated Completion Hours: 0.5
      • Selenium Testing for Homepage Carousel and NavBar: Actual Completion Hours: 1
      • Updating AboutMe page, Github code integration, Technical Report: Estimated Completion Hours: 0.5
      • Updating AboutMe page, Github code integration, Technical Report: Actual Completion Hours: 1
    • Phase 3:
      • Setup Template and Backend Infrastructure with new JavaScript file for searching/filtering/sorting: Estimated Completion Hours: 0.25
      • Setup Template and Backend Infrastructure with new JavaScript file for searching/filtering/sorting: Actual Completion Hours: 0.5
      • Added Search Bar on NavBar, Dropdown Menu w/ Checkboxes for Filtering, Ascending/Descending Buttons for Sorting across all model pages: Estimated Completion Hours: 1
      • Added Search Bar on NavBar, Dropdown Menu w/ Checkboxes for Filtering, Ascending/Descending Buttons for Sorting across all model pages: Actual Completion Hours: 3
      • New UI/UX design for all pages (homepage, all model + instance pages, about page) on the website: Estimated Completion Hours: 5
      • New UI/UX design for all pages (homepage, all model + instance pages, about page) on the website: Actual Completion Hours: 13
      • Added side navigation bar for filtering and new designs for filtering, sorting, and searching fields: Estimated Completion Hours: 1
      • Added side navigation bar for filtering and new designs for filtering, sorting, and searching fields: Actual Completion Hours: 2.5
      • New UI/UX design for sorting dropdown and updated styling for search menu: Estimated Completion Hours: 0.5
      • New UI/UX design for sorting dropdown and updated styling for search menu: Actual Completion Hours: 1
      • Fixed sidebar issue with bottom elements not showing: Estimated Completion Hours: 0.25
      • Fixed sidebar issue with bottom elements not showing: Actual Completion Hours: 0.75
      • Added styling to search bar: Estimated Completion Hours: 0.5
      • Added styling to search bar: Actual Completion Hours: 1
      • Added Selenium Tests to Exercises model and instance pages: Estimated Completion Hours: 1
      • Added Selenium Tests to Exercises model and instance pages: Actual Completion Hours: 2
    • Phase 4:
      • Presentation Slides: Estimated Completion Hours: 1
      • Presentation Slides: Actual Completion Hours: 2.5
      • Technical Report: Estimated Completion Hours: 2
      • Technical Report: Actual Completion Hours: 3.5
      • Information Hiding in Design Report: Estimated Completion Hours: 1
      • Information Hiding in Design Report: Actual Completion Hours: 2.5
      • Debugging Phase 4 Bugs and Deployment: Estimated Completion Hours: 1
      • Debugging Phase 4 Bugs and Deployment: Actual Completion Hours: 3
Owner
Andrew Wu
Andrew Wu
A simple program which gets a file(CSV/Excel) with tasks and creates different variants

TestMakerProject A simple program which gets a file(CSV/Excel) with tasks and creates different variants The main program is QTengine.py You only have

George 3 Nov 18, 2021
pyForgeCert is a Python equivalent of the original ForgeCert written in C#.

pyForgeCert is a Python equivalent of the original ForgeCert written in C#.

Evi1cg 47 Oct 08, 2022
Auto-ropper is a tool that aims to automate the exploitation of ROP.

Auto-ropper is a tool that aims to automate the exploitation of ROP. Its goal is to become a tool that no longer requires user interaction.

Zerotistic 16 Nov 13, 2022
Convert text with ANSI color codes to HTML or to LaTeX.

Convert text with ANSI color codes to HTML or to LaTeX.

PyContribs 326 Dec 28, 2022
Script to calculate delegator epoch returns for all pillars

znn_delegator_calculator Script to calculate estimated delegator epoch returns for all Pillars, so you can delegate to the best one. You can find me o

2 Dec 03, 2021
RFDesign - Protein hallucination and inpainting with RoseTTAFold

RFDesign: Protein hallucination and inpainting with RoseTTAFold Jue Wang (juewan

139 Jan 06, 2023
tool to automate exploitation of android degubg bridge vulnerability

DISCLAIMER DISCLAIMER: ANY MALICIOUS USE OF THE CONTENTS FROM THIS ARTICLE WILL NOT HOLD THE AUTHOR RESPONSIBLE HE CONTENTS ARE SOLELY FOR EDUCATIONAL

6 Feb 12, 2022
Python library for creating PEG parsers

PyParsing -- A Python Parsing Module Introduction The pyparsing module is an alternative approach to creating and executing simple grammars, vs. the t

Pyparsing 1.7k Jan 03, 2023
Time tracking program that will format output to be easily put into Gitlab

time_tracker Time tracking program that will format output to be easily put into Gitlab. Feel free to branch and use it yourself! Getting Started Clon

Jake Strasler 2 Oct 13, 2022
If Google News had a Python library

pygooglenews If Google News had a Python library Created by Artem from newscatcherapi.com but you do not need anything from us or from anyone else to

Artem Bugara 1.1k Jan 08, 2023
Find virtual hosts (vhosts) from IP addresses and hostnames

Features Enumerate vhosts from a list of IP addresses and domain names. Virtual Hosts are enumerated using the following process: Supplied domains are

3 Jul 09, 2022
Meower a social media platform written in Scratch 3.0 and Python

Meower Meower is a social media platform written in Scratch 3.0 and Python, ported to HTML for self-hosting. Try Beta 4.6 Changelog for 4.6 Start impl

Meower Media Co. 23 Dec 02, 2022
Ronin - Create Fud Meterpreter Payload To Hack Windows 11

Ronin - Create Fud Meterpreter Payload To Hack Windows 11

Dj4w3d H4mm4di 6 May 09, 2022
An awesome list of AI for art and design - resources, and popular datasets and how we may apply computer vision tasks to art and design.

Awesome AI for Art & Design An awesome list of AI for art and design - resources, and popular datasets and how we may apply computer vision tasks to a

Margaret Maynard-Reid 20 Dec 21, 2022
Decoupled Smoothing in Probabilistic Soft Logic

Decoupled Smoothing in Probabilistic Soft Logic Experiments for "Decoupled Smoothing in Probabilistic Soft Logic". Probabilistic Soft Logic Probabilis

Kushal Shingote 1 Feb 08, 2022
This is Gaurav's IP Project Completed in the year session of 2021-2022.

The Analyser by Gaurav Rayat Why this Project? Today we are continuously hearing about growth in Crime rates and the number of murders executed day by

1 Dec 30, 2021
Flask html response minifier

Flask-HTMLmin Minify flask text/html mime type responses. Just add MINIFY_HTML = True to your deployment config to minify HTML and text responses of y

Hamid Feizabadi 85 Dec 07, 2022
→ Plantilla de registro para Python

🔧 Pasos Necesarios CMD 🖥️ SOCKETS pip install sockets 🎨 COLORAMA pip install colorama 💻 Código register-by-inputs from turtle import color # Impor

Panda.xyz 4 Mar 12, 2022
A script where you execute a script that generates a base project for your gdextension

GDExtension Project Creator this is a script (currently only for linux) where you execute a script that generates a base project for your gdextension,

Unknown 11 Nov 17, 2022
Open source tools to allow working with ESP devices in the browser

ESP Web Tools Allow flashing ESPHome or other ESP-based firmwares via the browser. Will automatically detect the board type and select a supported fir

ESPHome 195 Dec 31, 2022