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

IBDB Presentation

Rachel
April 28, 2016
14

IBDB Presentation

Rachel

April 28, 2016
Tweet

Transcript

  1. BookSweepers! Answer the questıon, “Why are we the ones to

    solve the problem we ıdentıfıed?”the Rachel Choi A senior CS student at the University of Texas in Austin. Major Responsibilities: Docker/Carina, Database mgmt, UML, Phase 3 leader Richard Huettel Timothy Lo Just a simple boy from a farm in Cranfills Gap, Texas. He likes to hunt and fish. Favorite book is Rifles for Watie. Major Responsibilities: Back- end, Flask, Database setup A bright, young CS student ready to take on the world after Spring 2017. Major Responsibilities: Front-end, Angular, NYTimes API, Phase 2 leader Kyung Yoo Ruzseth Anne Dela Cruz A junior CS major, also from UT with an interest in web development. Major Responsibilities: Documentation, Front-end, Data Scraping, Phase 1 leader A CS student at University of Texas at Austin graduating Summer 2016. Major Responsibilities: Testing, RESTful API/Apiary, Mixopedia API
  2. IBDB API Books • To request for the list of

    all books: http://ibdb.me/api/books • To request for a single book by its id: http://ibdb.me/api/books/{book_id} Authors • To request for the list of all authors: http://ibdb.me/api/authors • To request for a single author by its id: http://ibdb.me/api/authors/{author_id}
  3. UML Diagram id(integer) title(string) isbn(string) author_id(integer) publisher(string) best_seller_date(date) best_seller_list(string) description(string)

    summary(string) book_image(string) amazon_link(string) id(integer) first_name(string) last_name(string) bio(string) book_count(integer) best_seller_date(date) link(string) Books(Book)
  4. Tools Used • API: Apiary, NYTimes API • Collab: Slack,

    GitHub • Database: MySQL, SQLAlchemy • Front-end: Bootstrap, AngularJS • Back-end: Flask • Server/Hosting: Docker, Carina, Namecheap • Data Scraping: MechanicalSoup • Testing: Coverage
  5. Mixopedia Critique • What did they do well? ◦ Leveraged

    Angular in a way to build one large angular application as opposed to using flask routes. ◦ Search results page looks really nice • What did we learn from their website? ◦ How to successfully implement clickable rows ◦ How they made a cool twitter account • What can they do better? ◦ Move away from the singleton pattern in flask ◦ Also they may want to look into their API; to get all the info on say 200 drink ingredients it takes 201 api calls. They should look into some way to taking a flag to get all the attributes as opposed to just a name and id. ◦ AND and OR results for search does not bold the search terms. • What puzzles us about their website? ◦ Age validation? Cocktails and Ingredients still accessible on the navigation bar
  6. IBDB Critique • What did we do well? ◦ Scraped

    a lot of data and accurately portray it in the front end ◦ Good code pattern throughout our project so it would be easy to add onto in the future ◦ Front end is functional and user friendly • What did we learn? ◦ How to build and deploy a container based application ◦ How to work on a large scale project on git with others ◦ Read project requirements more carefully • What can we do better? ◦ Make a one-use template ◦ Automated deployments on merge to master ◦ Broken the view logic more into a models file ◦ Add more embedded media and better pictures for books and authors ◦ Search • What puzzles us? ◦ Angular was a bit puzzling ◦ Search requirements for AND/OR
  7. Richard Huettel No. of commits: 163 Issues closed: 18 No.

    of unit tests: 3 Timothy Lo No. of commits: 91 Issues closed: 10 No. of unit tests: 3 Kyung Yoo No. of commits: 27 Issues closed: 6 No. of unit tests: 12 Ruzseth Anne Dela Cruz No. of commits: 57 Issues closed: 10 No. of unit tests: 3 Stats Rachel Choi No. of commits: 46 Issues closed: 11 No. of unit tests: 3 No. of unresolved issues: 2
  8. What Now? • Add in features to repoll amazon data

    for authors/books at user command. • Add in even more books. • Finally automate where unit tests/commits/issue information is pulled automatically from git.