Final Exam

due by midnight on Monday May 7th

This is a take-home exam. You may use whatever materials you like, including the source code that we have written and notes/links provided. If you use quotes or ideas from any source other than your own mind, you must cite the source and use quotation marks appropriately.

You may not do this exam in groups. Your responses must be entirely your own. If I notice suspicious similarity between the answers of two or more students, or if your answers are copied from another source, your grade will suffer.

All of your answers should be specific and pertain directly to the project we implemented this semester. I expect about 1–2 pages of explanation per question. Submit your answers by email to christopher.league@liu.edu

Choose two of the following questions.

  1. To use our bookswap service in production, we will need to host it on a stable, always-connected Internet host. Because we used Python and Django, there are several options available:

    1. Google AppEngine

    2. Heroku cloud

    3. Self-hosted on a Virtual Private Server – we manage the Linux server, just like we log in to your virtual machine right now. The only difference will be that this server is on the Internet instead of on your own laptop.

  2. Apart from the hosting decision, we have to decide what database we will use for Django. Currently, for the development server, we are using the SQLite database. Is this suitable for production, or should we switch to something else Django supports, such as MySQL, PostgreSQL, or Oracle? If you answered question 1, is your choice of database compatible with your choice of hosting in question 1? (Do certain hosting options limit us to certain databases?)

    To make this very specific to our project: will we need to change any of the code in app/models.py in order to use a particular database, or is it just the settings.py?

  3. Right now, our bookswap service is meant to be used with LIU Brooklyn’s courses and by LIU Brooklyn’s students. In the future, we may want to open it up to be instantiated by other universities. We could even have custom domain names, like liu.bookswap.com, nyu.bookswap.com, etc. (similar to xyz.wordpress.com). How would we change our data model to support working across multiple universities like this? Each university’s site should be able to have its own style and logo, and its own set of courses and textbooks.

 

©2012 Christopher League · some rights reserved · CC by-sa