Programming Assignment 8 (Optional)
Using the Cloud

Due on Tuesday December 2 before midnight


This project is optional. If you don't do this project you will get 100 points, but if you complete this project successfully you will get up to 150 points (2.5 extra points in your final score).

The goal of this project is to develop a photo-album application that uses cloud storage. More specifically, you will use the Dropbox API to create a photo album, in which you can upload, delete, and browse photographs.

This project must be done individually. No copying is permitted. Note: We will use a system for detecting software plagiarism, called Moss, which is an automatic system for determining the similarity of programs. That is, your program will be compared with the programs of the other students in class as well as with the programs submitted in previous years. This program will find similarities even if you rename variables, move code, change code structure, etc.

Note that, if you use a Search Engine to find similar programs on the web, we will find these programs too. So don't do it because you will get caught and you will get an F in the course (this is cheating). Don't look for code to use for your project on the web or from other students (current or past). Don't try to hire a freelancer to do the coding for you. Just do your project alone using the help given in this project description and from your instructor and GTA only.


As in the previous projects, you will develop this project on the Omega web server and you will test the project on your PC/laptop using the Mozilla Firefox web browser. Login at using SSH and do the following:

cd public_html
tar xfz project8.tgz
cp project4/.htaccess project4/.htpasswd project8/
cd project8


This project must be done in PHP. Please look at Project 3 for links to PHP tutorials. Your scripts must use the Dropbox API to upload, delete, and retrieve photographs, and the PHP library DropPHP. You will first need to create a Dropbox account and a Dropbox API app with both Files and datastores, which will have the App name: cse5335. Then, edit the file project8/sample.php and set the app_key and app_secret to your Dropbox API key and secret. Then, you test it (eg, Look at the code; your album.php must have a similar authentication.

Project Requirements

You will develop a trivial photo-album application on Dropbox. Your task is to modify your album.php script in your project8 directory on Omega to support the following operations:

Note that the images that you display/delete are those stored in your cse5335 dropbox directory. You should not display any local images stored on omega.

What to Submit

Important: On top of your album.php file, write the URL on Omega to use to run your program (eg. Use the form below to submit your files. You may submit your file as many times as you like, but only the most recently submitted file will be retained and evaluated.

Submit Project #8:

Last modified: 11/11/2014 by Leonidas Fegaras