Imaginaire   Web Albums

Online Photo Sharing Service

Team Members :     Chinmay Vaishampayan     Harbaksh S. Chhabra     Kushal Ladha
(09305918) (09305917) (09305021)


Problem Statement (GIF Image)

About the project
         Imaginaire is a web based photo sharing service. It would make it easy for people to organize their digital photos, create online albums and share them.

Features
         Following are the desirable features of Imaginaire.We have divided these features into three parts on the basis of their necessities and usages. The most basic features are kept under the 'Guaranteed Features' list. The 'wishlist' contains features which would be implemented(if time permits) after the completion of basic features. And the third list is 'Future Enhancements'.

Guaranteed Features :
  • Allow users to create accounts and sign in
  • Create albums, upload photos, add captions, view slide show
  • Private/public albums
  • Share private albums (send email to friend with link to slide show)
  • Search public albums based on picture caption, album name etc

Wishlist :
  • Allow upload of multiple photos in a archive file and their create album.
  • Allow tagging of photos and albums.
  • Upload photos from a url.

Future Enhancements :
  • Allow video sharing along with images.
  • Create video playlists.
  • Desktop Application for managing photos and albums.
Solution Design (GIF Image)

Modular Decomposition

High Level Modules :
         The high-level decomposition of Project into Modules is shown below.

Modules (GIF Image)
Figure: Modules

         We have divided the project broadly into three modules. First, the GUI, provided to the user to interact with the server to manage his/her account. Second, the User Management module at the back-end to handle the user's account and profile information. Third, the Album Management module, also at the back-end, to manage the user's photos/albums.

Further Decomposition :
         The above shown modules are further decomposed into sub-modules. They are as follows:
  • User Interface
    • User Registration/Login
    • Slide Shows
    • Client Side Validation
    • Other common interfaces for editing user's information
  • User Management
    • Add/Remove/Update user accounts
    • Manage friends/family/groups
  • Album Management
    • Add/Remove/Edit Albums.
    • Add/Remove Photos from albums
    • Managing Captions and Tags / Searching
Implementation Plan (GIF Image)

IMPLEMENTATION

Technology:
         HTML, CSS 2.0, JavaScript, MySQL, AJAX, PHP

Tools:
  • PHP: Eclipse PDT
  • CSS: CSSed
  • Server: Apache(for local testing)
  • Database: MySQL

Estimated Lines of code:
         10kloc

Estimated amount of time:
         10 days (3-5 hours a day) per person
Motivation (GIF Image)

MOTIVATION/CONTEXT

         Already existing applications like Picasa, Flickr, Photobucket are fascinating and we wanted to understand there working. This will also give us the opportunity to learn PHP and SQL.
Testing (GIF Image)

Testing

Testing for Correctness:
  • Form Validation,
  • Creating/Deleteing Albums is possible or not.
  • Uploading/Viewing Photos in different albums.
  • Test if Private photos are viewable to public or not.
  • Check Image extensions.
  • Searching for Photos.

Testing for Correctness:
         Final Project is most likely to be tested only in Local Network. Thus performance will be usually good. To check actual performance in Internet, the webpage will be deployed on free servers like x10hosting/izfree etc., run from there and observe the delays in searching, tagging & any other activities database related activities
Team Information (GIF Image)

Team Info

Division of work:
  • Chinmay Vaishampayan(09305918): Album Management
  • Harbaksh S. Chhabra(09305917): User Interface; Managing captions, tags and searching
  • Kushal Ladha(09305021): User Management