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

Komixx Group Presentation

Komixx Group Presentation

audiocipher

July 22, 2016
Tweet

Other Decks in Programming

Transcript

  1. Group Members Name Major Responsibilities Number of commits Number of

    Issues Number of Unit Tests Haihan Yu Back End 22 5 10 Pradeep Kumar Front End, API 32 5 5 Adan Briones Front End, Documentation 44 5 5 Allen Mcclure Front End, Data Scraping 38 5 5 Nabeel Virani Full-Stack, API, Data Scraping, Postgres 107 76 10 Chuqi Zhou Back End, Data Scraping, API 26 5 10
  2. Overview Introduction We wanted to create a website that would

    be a single source for streamlined comic book information for any comic book fan. Our site does this by providing information on comic book characters and teams, comic book volumes, and publishing companies.
  3. Front-end Tools AngularJS: used to dynamically load our web pages,

    streamline pagination, fetch information from a backend, and improve sorting Bootstrap: used to make our pages responsive, well formatted, and mobile friendly jQuery: used the DataTables jQuery plugin to build flexible HTML tables that are sortable, searchable, and paginated Jinja2: used to retrieve the data from our API and place it into the correct cell in each row of the tables
  4. Back-end Tools Apiary: used to create our API and also

    acts as a place to host our API so that other developers have access to the documentation Digital Ocean: used to give us access to virtual server processing power, time, and memory Flask: used to minimize development overhead by providing web services, web resources, and web APIs related to the development of web applications Apache2: used to setup the server that hosts our website and connects it to digital ocean SQLAlchemy: used to build our back-end model and allow fetching data/embedding-media services in our website
  5. Miscellaneous tools Slack: a collaboration tool that lets all of

    our team members chat with each other through an app or the desktop Autopep8: used to automatically format Python code to conform to the PEP8 style guide Pydoc3: a python module that automatically generates documentation from Python modules Travis CI: a distributed continuous integration tool used to build and test projects hosted on Github yUML: an online tool we used to generate the UML graph for our database
  6. API Calls • /characters • /character/<name> • /teams • /team/<name>

    • /publishers • /publisher/<name> • /volumes • /volume/<name> • Search will be covered later
  7. Database • 10 publishers • At most 10 teams per

    publisher • At most 10 characters per team • At most 10 volumes per team
  8. Critiques Critique of our group: Komixx What did we do

    well? Easy to use and well documented What did we learn? Team communication is extremely important. Unfortunately we had many instances where code was written multiple times instead of being a collaborative effort. We learned a lot about Flask, Angular, Slack, Jinja2, etc. What can we do better? The api we used to scrape our data had many missing information points, forcing us to be selective about what information we served. We could’ve been better about time management. What puzzles us? The integrity of our API was difficult to manage as there was not good communication between what was being served on the back end and what was being accessed on the front end. This is related to the issue of the lengthy amount of time it took to scrape the api.
  9. Critiques Critique of Group 4's API: Downing Jones What did

    they do well? There are a number of options in creating the URL allowing the user to be selective in designing the api call. What did we learn from their website? The website was straightforward and easy to understand. Nothing was too distracting and seemed professional. What can they do better? They did a good job - we would’ve said they could’ve done the apiary better but they did it better by the time of this presentation. What puzzles us about their website? Fundamental aspects of stock and currency exchanges
  10. Search • Altered each model to include a ts_vector column

    • Stores word appearances from each other column into this column. • Query calls used this column as the search feature. • Ts_headline for bold text. Used safe to avoid html tags • To_tsvector handled the & and | calls where using & in the parameter made & calls and | in the parameter made | calls.
  11. Unit Tests and Visualization • Unit Tests tested each model

    and ensured that the database is consistent across all systems and does not suffer from random unknown changes. • Visual Time!