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

CS373-IDB5 Presentation

CS373-IDB5 Presentation

Laylah House

July 17, 2021
Tweet

Other Decks in Education

Transcript

  1. Presentation Outline I. What is Booksleuth.com? II. Demo III. Data

    Models IV. RESTful APIs V. Implementations of: A. Pagination B. Filtering C. Sorting D. Searching VI. Testing VII. User Stories VIII. Website Critiques IX. Questions?
  2. What is BookSleuth.com? • Website to display book related information

    ◦ Authors ◦ Books ◦ Publishers ◦ Interlinking
  3. Data Models • Works Model ◦ Attributes • Authors Model

    ◦ Attributes • Publishers Model ◦ Attributes • Subjects Model ◦ Purpose
  4. RESTful APIs • External APIs ◦ Wikimedia API ◦ Open

    Library API • Internal API ◦ ID calls ◦ Sorted/Filtered/Search calls ◦ All calls
  5. Implementations of Sorting • Frontend requests API with parameters orderBy

    & ordering (asc/desc) • Backend utilizes sqlalchemy’s order_by functionality Filtering • Frontend requests API with parameters (attributes with specified format) • Backend utilizes sqlalchemy’s filter functionality to filter only when a filter is submitted in the parameters
  6. Implementations of Pagination • Frontend requests API with parameters page

    & per_page • Backend utilizes sqlalchemy’s pagination function, reverts to default page if not given Searching • Frontend requests API with parameter q • Backend utilizes sqlalchemy’s ilike functionality along with our own functions to search for attributes
  7. Testing • DBtests • Tests.py ◦ API & attribute checks

    ◦ All, ID, Filterable/Sortable/Search tests • Run unit tests
  8. Critiquing Our Website • What did we do well? ◦

    Card design ◦ Clear and distinct models • What can we do better? ◦ Filtering options are hard coded when they should ideally be generated from an external API or dynamically via a function call ◦ Select data more stringently to avoid N/As on attribute information • What did we learn? ◦ Authors tend to stick with a single publisher for the major of their works ◦ Lots of publishers are owned by a larger publisher, via the imprint model • What puzzles us? ◦ Cannot see what you’ve selected for filtering options
  9. Critiquing PoliticsIn.Review • What did they do well? ◦ Navigation

    bar is very nice ◦ Table information is neatly laid out • What can they do better? ◦ Good design, but background is only one image ◦ Blank searches highlight everything ◦ Table whitespace • What did we learn? ◦ Which committees oversee what type of bills ◦ Influence of lobbying • What puzzles us? ◦ No visual indicator for clickable attributes ◦ Arrangement for filter/sort UI