Project Milestone 4

DUE: Wednesday, May 2 at noon

The goal of this milestone is to connect your backend to a real data source that is relevant for your project's needs, either by acquiring and storing data in a database or by using external data APIs. By the time you finish this milestone, your backend should be complete enough that you can focus on the frontend part of your project for the remaining weeks. We are very flexible in terms of what kind of database or data API you use, but you should not use a text file (such as a .csv or .json file) or hard-code your data directly into your JavaScript code.

The grading rubric contains all of the required items to turn in for your write-up and to live demo to your TA. Always consult the rubric!

The major component of this milestone is connecting your backend to real data and showing your TA that your frontend can properly access that data via Ajax. While you are implementing this milestone, please also consult the lecture notes on user privacy to think about how you plan to approach issues of user privacy for the data you are interacting with for your project.

Finally, fill out a teammate assessment form.

Your TA will grade your milestone in class during your assigned grading day, so plan to come to class then to present your demo. If you do not come to class that day, then your milestone will not be graded.

Grading rubric (15 points)

  1. is present in your project's GitHub repository.
  2. contains screenshots of your latest UI skeleton webpages embedded directly within the file.
  3. contains a written explanation of how your UI skeleton screenshots have improved upon the versions shown in
  4. contains a thoughtful description of your project's approach to addressing user privacy. Use these lecture notes as the basis for thinking about your approach. (There is no single 'right' answer; we just want to see that you have thought about this issue.)
  5. You show your TA how your UI skeletons improved in a noticeable way from what you showed them during Milestone 3 grading session. (Consult your to reference your old screenshots.)
  6. You explain to your TA what database or data API you chose, and why you chose it.
  7. You successfully live demo at least one Ajax interaction where your TA can trigger some action on one of your webpages, it fetches some data from a backend database or external data API, and then displays that data directly on your webpage without reloading it. You don't need to display the data as a visualization yet; a simple text-based display is fine at this point.
  8. Your database or external data API functionality is relevant to your project (in other words, it's not just directly copied from example code without modification).
  9. You can confirm that your project is not simply using data from a text file (such as a .csv or .json file) or hard-coding objects into your JavaScript code.
  10. You can properly use the Network Inspector tab in your web browser's developer tools (e.g., Chrome, Safari, Firefox) to show your TA exactly what data is being passed between the frontend and backend during these Ajax interactions. (2 points)
  11. You can properly explain to your TA how your database or external data API interaction works in detail by walking through the code that you wrote for it, both in your frontend and backend. (3 points)
  12. You tell your TA a plausible plan for how you are going to visualize the data on the frontend for future milestones. You don't need to necessarily stick with this plan, but you must at least propose a plan.

Frequently Asked Questions

First please check the project FAQ.