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
Direct Multi-view Multi-person 3D Human Pose Estimation

Implementation of NeurIPS-2021 paper: Direct Multi-view Multi-person 3D Human Pose Estimation [paper] [video-YouTube, video-Bilibili] [slides] This is

Sea AI Lab 253 Jan 05, 2023
Track testrail productivity in automated reporting to multiple teams

django_web_app_for_testrail testrail is a test case management tool which helps any organization to track all consumption and testing of manual and au

Vignesh 2 Nov 21, 2021
x-tools is a collection of tools developed in Python

x-tools X-tools is a collection of tools developed in Python Commands\

5 Jan 24, 2022
In this repo, I will put all the code related to data science using python libraries like Numpy, Pandas, Matplotlib, Seaborn and many more.

Python-for-DS In this repo, I will put all the code related to data science using python libraries like Numpy, Pandas, Matplotlib, Seaborn and many mo

1 Jan 10, 2022
Simple python script for AD enumeration

AutoAD - Simple python script for AD enumeration This tool was created on my spare time to help fellow penetration testers in automating the basic enu

Mohammad Arman 28 Jun 21, 2022
Pykeeb - A small Python script that prints out currently connected keyboards

pykeeb 🐍 ⌨️ A small Python script that detects and prints out currently connect

Jordan Duabe 1 May 08, 2022
Simple, configuration-driven backup software for servers and workstations

title permalink borgmatic index.html It's your data. Keep it that way. borgmatic is simple, configuration-driven backup software for servers and works

borgmatic collective 1.3k Dec 30, 2022
Desenvolvendo as habilidades básicas de programação visando a construção de aplicativos por meio de bibliotecas apropriadas à Ciência de Dados.

Algoritmos e Introdução à Computação Ementa: Conceitos básicos sobre algoritmos e métodos para sua construção. Tipos de dados e variáveis. Estruturas

Dyanna Cruz 1 Jan 06, 2022
This is a survey of python's async concurrency features by example.

Survey of Python's Async Features This is a survey of python's async concurrency features by example. The purpose of this survey is to demonstrate tha

Tyler Lovely 4 Feb 10, 2022
Online HackerRank problem solving challenges

LinkedListHackerRank Online HackerRank problem solving challenges This challenge is part of a tutorial track by MyCodeSchool You are given the pointer

Sefineh Tesfa 1 Nov 21, 2021
Using Python to parse through email logs received through several backup systems.

outlook-automated-backup-control Backup monitoring on a mailbox: In this mailbox there will be backup logs. The identification will based on the follo

Connor 2 Sep 28, 2022
Plugin to generate BOM + CPL files for JLCPCB

KiCAD JLCPCB tools Plugin to generate all files necessary for JLCPCB board fabrication and assembly Gerber files Excellon files BOM file CPL file Furt

bouni 566 Dec 29, 2022
Mechanized literally means automation.

Mechanized literally means automation. And this branch which you are now observing is automated by the python script. This python project actually automates my workflow related to Git & Github.

Shreejan Dolai 4 Nov 11, 2022
Generate your personal 8-bit avatars using Cellular Automata, a mathematical model that simulates life, survival, and extinction

Try the interactive demo here ✨ ✨ Sprites-as-a-Service is an open-source web application that allows you to generate custom 8-bit sprites using Cellul

Lj Miranda 265 Dec 26, 2022
Code for Crowd counting via unsupervised cross-domain feature adaptation.

CDFA-pytorch Code for Unsupervised crowd counting via cross-domain feature adaptation. Pre-trained models Google Drive Baidu Cloud : t4qc Environment

Guanchen Ding 6 Dec 11, 2022
PORTSCANNING-IN-PYTHON - A python threaded portscanner to scan websites and ipaddresses

PORTSCANNING-IN-PYTHON This is a python threaded portscanner to scan websites an

1 Feb 16, 2022
Render your templates using .txt files

PizzaX About Run Run tests To run the tests, open your terminal and type python tests.py (WIN) or python3 tests.py (UNX) Using the function To use the

Marcello Belanda 2 Nov 24, 2021
When should you berserk in lichess arena tournament games?

When should you berserk in a lichess arena tournament game? 1+0 arena tournament 3+0 arena tournament Explanation For details on how I arrived at the

18 Aug 03, 2022
A multi-platform fuzzer for poking at userland binaries and servers

litefuzz A multi-platform fuzzer for poking at userland binaries and servers litefuzz intro why how it works what it does what it doesn't do support p

52 Nov 18, 2022
Powering up Apache JMeter with Streamlit and opening the door for machine learning.

Powering up Apache JMeter with Streamlit Overview Apache JMeter is an open source load testing tool written in 100% pure Java. JMeter supports umpteen

NaveenKumar Namachivayam ⚡ 16 Aug 24, 2022