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

DarkRitualPresentation

 DarkRitualPresentation

Dark Ritual's IDB Final Presentation

Javier E. De la Garza S.

April 27, 2016
Tweet

Other Decks in Programming

Transcript

  1. A Dark Ritual Project Javier “Mr. J” E. De la

    Garza S. Peter “Not a Scammer” Scamman Stephanie “Fred” Wilbur Mark “The Overlord” Lindberg Shanell “Smithy” Smith
  2. Magic: the Gathering What MtG is: • Highly technical trading

    card game. • 60 card decks, yet tens of thousands of exist. • Turns are taken playing creature or spell effects from hand. • Goal is to murder your rival player(s). Why we picked this as our topic: • We like it! • The source database was well organized and comprehensive. • But mostly because our original topic got prof blocked. //Scraped from Deckbrew Restful API
  3. Why we chose those models: Deckbrew API provides data for

    cards and sets Made separate model for artists because MtG card art is awesome Edition model is the link between the other three models Cards, Artists, and Sets (and Editions).
  4. Pagination works with SQL and endpoints. SQL returns one set

    of results for each page. Sorting runs a new SQL query, returns new results. Cards, Artists, and Sets (and Editions). (cont’d)
  5. AngularJS in a nutshell Cards, Sets, and Artists pages request

    information from the SQL database. Inject the information into an HTML template using module and controllers. Insert the HTML template into the container on the main layout page (index.html) by using ng-view. ng-Sanitize and ng-BindHtml utilized for cost icon generation and symbols in card text. Utilization of D3’s Hexbin library for splash page widget. "cost": "{2}{G}{G}{W}{W}{U}{U}" "text": "Flying\nAt the beginning of your upkeep, sacrifice Arcades Sabboth unless you pay {G}{W}{U}. \nEach untapped creature you control gets +0/+2 as long as it's not attacking.\n{W}: Arcades Sabboth gets +0/+1 until end of turn."
  6. • Javascript makes a REST GET call for an SQL

    Search (Sanitized) • Search page organizes data into 2 tables (AND, OR) Backend for search: • SQL/Python for search, highlighting, and pagination. SQL Search Engine
  7. Everyone loves Carina! To allow the deployment process to be

    system independent and alleviate the pain associated with Carina … We created Bash Scripts! (Warning! Side effects include: dizziness, nausea, headaches, dry heaving, and loss of patience and friends.) Next up: Unit Tests with Mark and Stephanie
  8. Main testing focuses: Setting up the database Inserting, deleting, querying

    Database integrity API endpoints Pagination of query results
  9. Issue Tracker Stats Authored • Peter Scamman: 11 • Javier

    de la Garza: 11 • Shanell Smith: 13 • Stephanie Wilbur: 10 • Mark Lindberg: 10 Closed • Peter Scamman: 8 • Javier de la Garza: 15 • Shanell Smith: 18 • Stephanie Wilbur: 8 • Mark Lindberg: 7
  10. 1. Could’ve made better use of the github issue tracker.

    2. Learned how to coordinate and collaborate more often. 3. Learned how to use SQL queries for many things. 4. Only 1.5 of us actually understand Carina at this point... 5. We overlooked empty files in part 1 and didn’t make static pages. 6. Our original directory structure was not good. 7. We organized our roles well! 8. We all rose to the occasion when things came up. :)
  11. 1. Pop-up modals for errors are cool 2. (We would’ve

    done well to also implement error visibility) 3. Search is functional but the results have only one column 4. Data is incomplete (Only 4 states) 5. Pagination is unusual: No limit on number of pages at bottom 6. Google maps is integrated for states and cities but not for neighborhoods (just shows world) 7. Access to their API was spotty Basking… get it?