In this mini-project assignment, you will build a web-browser interface for a dataset. That is, your web application will:
Lessons can be found here: https://github.com/datademofun/flask-data-querystrings
Check out the College Scoreboard app, as presented by the U.S. government:
https://collegescorecard.ed.gov/
Here's the source data: https://collegescorecard.ed.gov/data/
Instead of downloading the entire ZIP file of data, pull in these two CSVs:
Your own school app should allow the user to search, filter, and rank in a way different than what the College Scorecard provides. You may even want to simplify the approach.
The two data tables allow you to find post-school earnings by given school (if you join the appropriate fields). Don't think of showing all the information, just the most interesting information.
If you do a data join while creating the listing view, you could give the user the option to rank schools by post-earnings salary, among other things.
You can pick your own dataset, but it has to be something in which the number of data fields is numerous and interesting enough that there would be a reason to have a separate listing and detail view.
For example, New York restaurant health inspections:
The raw dataset is on Socrata as a flat table (instead of separate tables for inspections and restaurants, it's all one table with redundant data).
Build a data web application that takes in user input for:
row['gender'] == 'F'
or 'Dan' in row['name']
)'birthdate'
attribute of each row
, in either ascending or descending order.The main view of the app should include a web form that has these filters.
The results view should show a web-friendly listing of the source dataset, and each list item should include an internal link to a details
viewpoint (a la the detail.html
template in the First News App tutorial).
The detail view should include more detailed data about the selected data row, including data that you did not deem fit to include in the listing view.
flask-filter-app
that contains (or will eventually contain) the data and code to run and deploy your app. It should be separate from cj-2016, i.e. at github.com/yourname/flask-filter-app
, not github.com/yourname/flask-filter-app
flask-filter-app
folder. Using Markdown syntax
'M'
or 'F'
, you will make available to the user.foo.py
file
foo.py
file.ipython
and call foo.print_record_count()
and get an answer. In this particular app example, look at how app.py calls in foo.py