Web application: first draft
Folder: webapp
Tag: webapp-draft
Goals
Create a functional first draft of your web application's:
- navigational structure
- overall appearance
- most important search and display features
Your classmates will provide feedback on this draft, which should help you polish your final submission.
Rubric
Note that "code quality" is not in this rubric. The grader won't look at your code unless the app fails to function. However, in the code review involving this first draft, your classmates and I will absolutely look at your code, so you might as well think about code quality now anyway, since it will receive a bunch of rubric points on the final submission. (Also, because you have pride in your work.)
Your tasks
- Get your web application working well enough that people can try it out
enough to give you usability feedback. At minimum, I want to see:
- A /api/help endpoint that returns, as straight text (i.e. not HTML) documentation for all your implemented API endpoints. See the API design assignment for an example of the format I prefer.
- Pretty much complete navigation
- Good-looking styling on all pages
- Essential search functionality working. For example, if your project is about TV shows, I want to be able to search for TV shows by title, or if your project is about international cheese production, I'll want to see your world map with countries colored by tons of cheese produced in a user-specified year.
Since we're going to do a code review session to get you some detailed feedback on this draft, the more you can have ready, the more valuable feedback you'll get.
- If your database structure or contents have changed since the end-to-end assignment,
re-save your database into webapp/data.sql:
pg_dump --no-owner --no-privileges -U YOURUSERNAME YOURDATABASE > data.sqlThis will, of course, overwrite your previous data.sql from the end-to-end assignment. No problem. NOTE: If your data.sql file is larger than 25MB, then don't add it to your repository. Instead, DM it to me via Slack.
- Tag your repository webapp-draft.
- Include a text file named webapp/readme.txt, structured like this:
AUTHORS: [your names] DATA: [a one-sentence description of your data] FEATURES CURRENTLY WORKING: - [very] - [short] - [feature] - [descriptions] FEATURES NOT YET WORKING: - [same]
How we will test this draft
You can replicate the following steps to ensure that everything will work for me, the grader, and your classmates.
- Clone your repository
- cd YOUR-REPO/webapp
- git checkout webapp-draft
- Skim your readme.txt
- psql -U jondich webapp < data.sql
- Create (or edit, if you have one in your repo, which you shouldn't) config.py to correspond to my user name and my "webapp" database name
- python3 app.py localhost 5000
- Go to http://localhost:5000/api/help to see your endpoint documentation
- Try out a couple of your endpoints
- Go to http://localhost:5000/ and play with your site
- Test everything in a browser, taking notes for the code review