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
Simple GUI menu for micropython using a rotary encoder and basic display.

Micropython encoder based menu This is a simple menu system written in micropython. It uses a switch, a rotary encoder and an OLED display.

80 Jan 07, 2023
Automatic certificate unpinning for Android apps

What is this? Script used to perform automatic certificate unpinning of an APK by adding a custom network security configuration that permits user-add

Antoine Neuenschwander 5 Jul 28, 2021
Replite - An embeddable REPL powered by JupyterLite

replite An embeddable REPL, powered by JupyterLite. Usage To embed the code cons

Jeremy Tuloup 47 Nov 09, 2022
データサイエンスチャレンジ2021 サンプル

データサイエンスチャレンジ2021 サンプル 概要 線形補間と Catmull–Rom Spline 補間のサンプル Python スクリプトです。 データサイエンスチャレンジ2021の出題意図としましては、訓練用データ(train.csv)から機械学習モデルを作成して、そのモデルに推論させてモーシ

Bandai Namco Research Inc. 5 Oct 17, 2022
MODeflattener deobfuscates control flow flattened functions obfuscated by OLLVM using Miasm.

MODeflattener deobfuscates control flow flattened functions obfuscated by OLLVM using Miasm.

Suraj Malhotra 138 Jan 07, 2023
A compilation of useful scripts to automate common tasks

Scripts-To-Automate-This A compilation of useful scripts for common tasks Name What it does Type Add file extensions Adds ".png" to a list of file nam

0 Nov 05, 2021
A corona information module

A corona information module

Fayas Noushad 3 Nov 28, 2021
Free components that wrap up Python into Delphi and Lazarus (FPC)

Python for Delphi (P4D) is a set of free components that wrap up the Python DLL into Delphi and Lazarus (FPC). They let you easily execute Python scri

747 Jan 02, 2023
A simple python script that print the Mandelbrot set for every power of the formal formula.

Python Mandelbrot A simple python script that print the Mandelbrot set for every power of the formal formula.

Paride Giunta 2 Apr 15, 2022
An extension for Arma 3 that lets you write extensions in Python 3

An Arma 3 extension that lets you to write python extensions for Arma 3. And it's really simple and straightforward to use!

Lukasz Taczuk 48 Dec 18, 2022
☘️ Projet Voltaire Solver in Python3

☘️ Projet Voltaire Solver in Python3

Bidouffe 8 Dec 02, 2022
Run-Your-Own Firefox Sync Server

Run-Your-Own Firefox Sync Server This is an all-in-one package for running a self-hosted Firefox Sync server. It bundles the "tokenserver" project for

Mozilla Services 1.7k Dec 30, 2022
Small Arrow Vortex clipboard processing library

Description Small Arrow Vortex clipboard processing library. Install You can install this library from PyPI with pip install av-clipboard-lib or compi

Delta Epsilon 1 Dec 18, 2021
A python program, imitating functionalities of a banking system

A python program, imitating functionalities of a banking system, in order for users to perform certain operations in a bank.

Moyosore Weke 1 Nov 26, 2021
This program can calculate the Aerial Distance between two cities.

Aerial_Distance_Calculator This program can calculate the Aerial Distance between two cities. This repository include both Jupyter notebook and Python

InvisiblePro 1 Apr 08, 2022
Jarvis Python BOT acts like Google-assistance

Jarvis-Python-BOT Jarvis Python BOT acts like Google-assistance Setup Add Mail ID (Gmail) in the file at line no 82.

Ishan Jogalekar 1 Jan 08, 2022
A napari plugin to inspect data within a cisTEM project

napari-cistem A plugin to inspect data within a cisTEM project This napari plugin was generated with Cookiecutter using with @napari's cookiecutter-na

Johannes Elferich 1 Nov 07, 2021
A python library with various gambling and gaming classes

gamble is a simple library that implements a collection of some common gambling-related classes Features die, dice, d-notation cards, decks, hands pok

Jacobi Petrucciani 16 May 24, 2022
Programa principal de la Silla C.D.P.

Silla CDP Página Web Contáctenos Lista de contenidos: Información del proyecto. Licencias. Contacto. Información del proyecto Silla CDP, o Silla Corre

Silla Control de Postura 1 Dec 02, 2021
Combines power of torch, numerical methods to conquer and solve ALL {O,P}DEs

torch_DE_solver Combines power of torch, numerical methods and math overall to conquer and solve ALL {O,P}DEs There are three examples to provide a li

Natural Systems Simulation Lab 28 Dec 12, 2022