CS 257: Software Design

Web Application, Phase 4

For this phase, you'll complete your web application. You will produce a functioning website based on your API, providing people convenient and pleasant-to-use access to a variety of ways to search and view your chosen database.

Components of the final product

Your webapp should be left running at your assigned port on thacker. The / route (i.e. http://thacker.mathcs.carleton.edu:YOURPORT/) should return your site's home page.

Your cs257 repository, tagged with "webapp4", should contain the following.

Grading rubric

Phase 4 grading will be graded as follows:

25 points = 5 (runs with nontrivial actions without crashing) + 5 (appropriate breadth of features) + 5 (usability) + 7 (code organization and style) + 2 (extra awesomeness)

Code review

On Wednesday, May 11, we'll have code reviews during class. You can use the feedback you receive during this session to do some final polishing of your project.

You should prepare for the code review session like so:

During your code review session:

Other notes

You should, of course, use your original mockups and user stories / feature lists as a rough guide, but don't feel overly constrained by them. It's natural for your understanding of a project to evolve as you work on it, so you should feel free to diverge from your original conception if you have better ideas now.

Read the first five sections of Don't Make Me Think! right away--it will help you think about good UI design.

I have set the due date late enough that you have lots of time for this phase, but don't wait to get started on it. Spend the time to make the pieces fit together and think about how to make your app a good experience for you users.

We'll practice the bits and pieces over the next three class days (HTML, CSS, flask/jinja2 templates, Javascript, and AJAX).

Have fun!