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
Slotscheck - Find mistakes in your slots definitions

🎰 Slotscheck Adding __slots__ to a class in Python is a great way to reduce mem

Arie Bovenberg 67 Dec 31, 2022
Example python package with pybind11 cpp extension

Developing C++ extension in Python using pybind11 This is a summary of the commands used in the tutorial.

55 Sep 04, 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
An ongoing curated list of frameworks, libraries, learning tutorials, software and resources in Python Language.

Python Development Welcome to the world of Python. An ongoing curated list of frameworks, libraries, learning tutorials, software and resources in Pyt

Paul Veillard 2 Dec 24, 2021
Sailwind Mod Manager

Sailwind Mod Manager The Sailwind Mod Manager is an open source mod manager for the Sailwind community. It currently allows you to browse and download

Max 3 Jul 15, 2022
The repository for my video "Playing MINECRAFT with a WEBCAM"

This is the official repo for my video "Playing MINECRAFT with a WEBCAM" on YouTube Original video can be found here: https://youtu.be/701TPxL0Skg Red

Rishabh 27 Jun 07, 2022
Schemdule is a tiny tool using script as schema to schedule one day and remind you to do something during a day.

Schemdule is a tiny tool using script as schema to schedule one day and remind you to do something during a day. Platform Python Install Use pip: pip

StardustDL 4 Sep 13, 2021
Manjaro CN Repository

Manjaro CN Repository Automatically built packages based on archlinuxcn/repo and manjarocn/docker. Install Add manjarocn to /etc/pacman.conf: Please m

Manjaro CN 28 Jun 26, 2022
A way to write regex with objects instead of strings.

Py Idiomatic Regex (AKA iregex) Documentation Available Here An easier way to write regex in Python using OOP instead of strings. Makes the code much

Ryan Peach 18 Nov 15, 2021
Repo to demo translating colab/jupyter notebook to streamlit webapp

Repo to demo translating colab/jupyter notebook to streamlit webapp

Marisa Smith 2 Feb 02, 2022
Learning with Peter Norvig's lis.py interpreter

Learning with lis.py This repository contains variations of Peter Norvig's lis.py interpreter for a subset of Scheme, described in (How to Write a (Li

Fluent Python 170 Dec 15, 2022
Airplane reservation system python 2

airplane-reservation-system-python-2 Announcement 🔊 : 🔴 IMPORTANT 🔴 : Few new things have been added into the code [16/05/2021] different names is

voyager2005 1 Dec 06, 2021
Extra scripts to improve user experience related to OpenTaiko

OpenTaiko-Utils Extra scripts to improve user experience related to OpenTaiko osu2tja /!\ IMPORTANT NOTE /!\ Converted charts that aren't yours are fo

2 Dec 25, 2022
A free website that keeps the people informed about housing and evictions.

Eviction Tracker Currently helping verify detainer warrant data for middle Tennessee - via Middle TN DSA - Red Door Collective Features Presents data

Red Door Collective 7 Dec 14, 2022
Wordle Solver

Wordle Solver Installation Install the following onto your computer: Python 3.10.x Download Page Run pip install -r requirements.txt Instructions To r

John Bucknam 1 Feb 15, 2022
This is a far more in-depth and advanced version of "Write user interface to a file API Sample"

Fusion360-Write-UserInterface This is a far more in-depth and advanced version of "Write user interface to a file API Sample" from https://help.autode

4 Mar 18, 2022
A rough GSL work DynSAGE of my graduation project

DynSAGE Codes w.r.t DynSAGE-Diffuse can be found in function apply_dyn_model_v2 of src/utils.py. The training entrance is Line 144 - 155 of src/main.p

Yuhan Wang 3 Mar 22, 2022
We'll be using HTML, CSS and JavaScript for the frontend

We'll be using HTML, CSS and JavaScript for the frontend. Nothing to install in specific. Open your text-editor and start coding a beautiful front-end.

Mugada sai tilak 1 Dec 15, 2021
A python package for batch import of resume attachments to be parsed in HrFlow.

HrFlow Importer Description A python package for batch import of resume attachments to be parsed in HrFlow. hrflow-importer is an open-source project

HrFlow.ai (ex: Riminder.net) 3 Nov 15, 2022