Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CS 373 - Pythians

Avatar for Andy Andy
May 01, 2015

CS 373 - Pythians

Avatar for Andy

Andy

May 01, 2015

Other Decks in Technology

Transcript

  1. Team Patrick Aupperle Backend Flask Endpoints VM setup Commits: 27

    Tests: 0 Issues: 12 (all resolved) Hannah Burch Backend Database Flask Model Design Flask Endpoints Unit Tests Commits: 32 Tests: 16 Issues: 15 (all resolved) Andy Fan Frontend Design/Development Flask endpoints Commits: 108 Tests: 0 Issues: 22 (all resolved) Ben Pang Backend Flask Endpoints Unit Tests Flask Model Design Commits: 27 Tests: 53 Issues: 18 (all resolved) Jacob Kovar Backend Flask Endpoints Flask Model Design Apiary Unit Tests Commits: 42 Tests: 30 Issues: 79 (all resolved) Eric Su Frontend Design/Development Commits: 38 Tests: 0 Issues: 48 (all resolved)
  2. Introduction Problem • Olympics websites are cluttered with outlets to

    other info • Too busy, making it hard to focus and use • Hard to use for older crowd not used to technology Use Cases • Easy Access to Olympic Data • Tracking Historical Olympic Data Intended Customer • Enthusiasts • Casuals
  3. Introduction • Based on Summer Olympics medal-winners • Pillars ◦

    Athlete ◦ Event ◦ Sport ◦ Olympic Game (year) ◦ Country (per Games, and per Athlete)
  4. Database • Data from The Guardian (1896 - 2008) ◦

    Used to determine tables and their relationships ◦ Three databases with varying data and purposes • Scripts used to populate and narrow data sets
  5. Backend Two Flask endpoints per pillar ◦ /athletes ← For

    all athletes ◦ /athletes/<athlete_id> ← For one athlete Testing ◦ Divide into groups (TestModels, TestSearch, etc.) ◦ Combine groups using unittest’s test suite feature ◦ Return results to the website page
  6. Frontend • html5/css3, Bootstrap • Templating - Jinja • Base.html

    - shared/common elements (nav, header, footer, scripts, etc.) • Define blocks on pillar pages so that the same page displays different layouts depending endpoint data
  7. Frontend Mixitup • jQuery plugin • Supports easy sorting, filtering,

    animations Placehold.it • Generate and embed custom placeholders/images http://placehold.it/{ SIZE }/{ COLOR }/&text={ TEXT }
  8. What we did well ◦ Passing data from back to

    front end (e.g. standard format) ◦ Role/duty delegation and encapsulation What did we learn ◦ Tools needed to set up the website ◦ Continuous integration ◦ Importance of team communication Pythians Critique
  9. What puzzles us • Server maintenance and management • Internal

    errors when nginx restarts. What could we do better • Web design • Scalability • More robust and elegant RESTful API Pythians Critique
  10. Starlords Critique What did they do well? ◦ Fast loading

    ◦ Sorting/pagination ◦ Responsive design What did we learn? ◦ Responsive navigation menu
  11. Starlords Critique What puzzles us? • Organization of pillars •

    How do the pillars relate to each other? What can they do better? • Showing empty or irrelevant pillars • Consistent units/ Accurate information Planet Exoplanet ? ?