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

swe_t.py

 swe_t.py

celebrapsheets tech overview

Avatar for Jacob Brouwer

Jacob Brouwer

May 06, 2015

Other Decks in Technology

Transcript

  1. Meet the Team: Ian Daszkowski • Front End • Back

    End Routing • Website Layout • Design • 91 Commits • 17 Issues Parker Timmins • Model Design • API Implementation • Testing • Backend • 85 Commits • 21 Issues Jacob Brouwer • VM Management • Data Aggregation • Frontend • Model Design • Issues Management • 96 Commits • 31 Issues Parker Berg • API Design • APIary Documentation • Technical Report • Project Management • 34 Commits • 22 Issues
  2. What we’re all about: • Celebrities tend to get in

    trouble • Aggregate information regarding crimes and legal charges • Use cases: ◦ Fun! ◦ Satisfy curiosity ◦ Schadenfreude?
  3. Stack Walkthrough - Data • All data was curated manually

    from blogspam/gossip websites. • We copied news reports and data directly into our database initializer script • This was not completed until halfway through project 2
  4. Stack - Database Postgres • Two databases ◦ One for

    prod ◦ One for tests • Declared in sqlalchemy models • Relations on the models implicitly join for us
  5. UML

  6. Stack - API Barebones • Returns summaries for group calls

    • Returns full data for individual requests • Limited compared to models
  7. Stack - Frontend Jinja templates (and we do not question

    that decision) • 16 lines of CSS • 56 lines of Javascript (all on one page) • Bootstrap! • Custom filters!
  8. Stack - Backend • Nginx → uWSGI • Separate server

    for tests • Managed entirely by server.sh • Multi-process, multi-thread
  9. SWEtart Critique What did they do well? • Client-side webapp

    • Lots of data • Looks great What did we learn? • AngularJS is pretty nifty
  10. SWEtart Critique What can they do better / What puzzles

    us? • API documentation ◦ Documentation does not mention the /api/ prefix • Segment/reduce the data for a single character
  11. Self Critique What did we do well? • Back end

    design • Responsive Website What did we learn? • Bootstrap is amazing! • Flask templates are powerful. • Server management. • Don’t over-engineer
  12. Self Critique What can we do better? • Front end

    design • More data • Spelling What puzzled us? • When and where to use JavaScript and JavaScript frameworks • SQLAlchemy-Searchable had some compatibility issues with our configuration. • Optimal testing architecture