CPSC 350 - Applications of Databases - Fall 2024
Possible experience: +40XP (or even higher)
Due: Tuesday, Dec. 10, 11am
The last step of your World DB Tour project is to add a bit more functionality, polish and thoroughly debug it, and demo it to the class.
Your project must contain one of two things not explicitly required for any of the previous assignments:
One example of the first approach would be to allow the user to link Mongo objects to one another by means of labeled graph edges, in order to express relationships among those objects. From your Mongo document display page, the UI would let the user choose a relationship type from a set of types you choose, then choose another document by name (drop-down, e.g.) Then a relationship hyperlink would be displayed on both document's pages, and allow the user to traverse the graph by clicking on object names. (Note that you can sort of do this Mongo, but only in one direction; in the Star Wars example, Princess Leia knows the contents of her own relations dictionary, but is unaware that admirers like Han might have an entry for her in their own relations dict. In Neo4j, both participants in a relationship will always be aware of it.)
One example of the second approach would be keep track of a user's browsing history, so that on the home screen or side bar they can see a list of the past pages/objects/documents they have viewed, and return to them as desired. (This must use the session object to "count" for this homework: I'm not interested in "a single global list of every user's combined browsing history.")
You do not have to go with either of these specific ideas. You can do something else with Neo4j instead, or something else with the session instead.
Tuesday Dec 10th will be D-Day (Demo Day) for both classes, in the final exam session corresponding to your class section (section 01, normally at 12:30pm, will meet at noon-2:30pm; section 02, normally at 3:30pm, will meet at 3:30pm-6pm). You should prepare a little mini walk-through of your site that takes no more than three minutes to explain. (Hint: you should practice this, and time yourself. Do not simply plan to show up on the final exam day and eject a rambling stream of consciousness as various features of your website happen to occur to you. Think it through, jot down a list of bullet points to cover, make it coherent, and explain it to your roommate or mom ahead of time to ensure it makes sense.)
After each person's three-minute demo, the entire class will be turned loose on your website for three additional minutes to add/modify/query data and to explore. (This is traditionally referred to as "the Three Minutes Of Chaos™.") If you chose option 2, above, it should be immediately obvious that your session-enabled feature(s) work because people sitting next to each other in the classroom should see different favorites lists or whatever.
Your grade for this assignment will be based half (20XP) on the functionality you create, and half (20XP) on the lucidity of your presentation and the performance of your site during the Three Minutes Of Chaos™.
At the conclusion of all the demos, we will have an anonymous class vote on the following prizes:
There will be two such votes, one at the end of each final exam period. And yes, it is possible for a student to win more than one prize.
Send me an email with subject line "CPSC/DATA 350 Assignment #9 turn-in". In the body of the email, simply paste the link to your website.
Come to office hours, or send me email with subject line "CPSC/DATA 350 Assignment #9 help!!"
We're almost done!!