Save 37% off PRO during our Black Friday Sale! »

SWEagle Has Landed

SWEagle Has Landed

Group 6 CS373 SWE Presentation


Gavin Leith

April 21, 2016




    Thompson – Backend/DB • 55 commits, 17 issues Jordan Lavatai – Flask/Angular/Frontend • 60 commits, 20 issues • Darragh Murphy – Frontend • 40 commits, 5 issues • Declan Duffy – Frontend • 32 commits, 4 issues • Gavin Leith – Docker/Tech Report • 56 commits, 23 issues • Ovais Panjwani – APIary • 15 commits
  3. The Process

  4. Collecting The Data List of Meteorites - From NASA API

    List of Countries - From Classification information • Due to the return type of wikipedia’s API, we had to grab parent body and composition type. Not all NASA given classifications existed on wikipedia. We had to grab the most common class for some Chondrites (ex: H6 became H).
  5. Collecting The Data - Visualized!

  6. The Backend Explained To grab all the necessary files, we

    made a method getfiles() to make API references to the three data sources Once all data is scrapped, we used a populate call to insert all countries, then classifications, and finally meteorites as meteorites needed the first two data sets to populate correctly • UTC-8 issues with python: some meteorite names were unreadable in python due to UTC-8 (ex: ñ)
  7. Regex Stuff ?

  8. The Backend Shown • Meteorites • Name of the meteorite,

    the mass, the country it landed it (using Geopy),the classification of the meteorite, the year it landed, and geolocation • Classifications • Name of the classification, the overarching parent type (very few), what this classification of meteorite is composed of, the origin of the classification, (if known), and the amount of meteorites found of this class • Countries • Name, Size, the central point, the number of meteorites found in this country, and the latest meteorite found.
  9. API (Flask and Flask-restless) • api/meteorites • List all meteorites,

    includes classification and country details by design • api/meteorites/{id} • List a single meteorite, including classification and country • api/classifications • List all classifications • api/classifications/{id} • List a single classification • api/countries • List all countries • api/countries/{id} • List a single country
  10. THE CRITIQUE • What we did well: • The website

    is appealing to look at and easily navigable. Since meteorites are also displayed on subtables, the information is also contextualized in a way that means finding information on the site was easy even without the search functionality implemented. • What needs work: • That being said, the search functionality for the site is not what it should be (even if we were just following the instructions). It should work more like searching for a product on amazon with ranges and other options for easily broadening or narrowing a search. Things like grouping countries by continent, allowing a range of years to be easily searched at one time, etc. • Furthermore, we likely should have provided more definitions and such for classifications, but that would be a huge undertaking. Also, Wikipedia’s API does not lend itself to pulling new information, but thankfully it is unlikely that new classifications will exist any time soon. • What we learned: • Almost everything we used in this project was new to us, and even things we were familiar with took a broadening of our understanding of those tools. More important was the experience itself. Using slack, having unit tests, and the broadness of the tools necessary all lent to forming a team mentality and avoided one person doing much of the work. • What puzzled us: • There was no existing database of information on meteorite classifications when we started, so we had to scrape the information from Wikipedia and put it together ourselves. Wikipedia’s API also proved a challenge just in general. • Carina and Docker were constantly a struggle. Perhaps for such a small undertaking it would be better to just use a normal VM in the future. • Search queries for SQL-Alchemy got complicated at times, and there weren’t any particularly good tutorials online.
  11. GROUP 7 CRITIQUE • What they did well • Site

    is very well designed, tables are easy to read and navigate. • What did we learn • What can they do better • Some table titles and extra info could be named better, for example phonenum in Restaurants and resttotal in Category • What puzzles us • Why the services section exists • Why Location doesn’t include the restaurant name.
  12. THE DEMO •