The frontend must feature the interface and interactions as described in the "photos1.jpg". The application is multi-language.
Everything will need to be written in symfony 1.2. We use jQuery and it is in the 'jQuery' namespace instead of the '$' namespace (we reserve '$' for prototype).
A multi-file photo uploader with thumbnails is required. It must be connected in such a way that we can replace the uploader to a java based, flash based or html based uploader in the future.
P. Home Page - Picks up the updates in different albums, display thumbnails for photographs, links for other screens - My Photos, Others, Add/ Edit, View By. The screen would also show updates from albums owned by the user.
2. Manage Friends Screen: See current list of users in their friends list, add/ remove friends, Pending requests from other users for adding as friend.
3. My Photos Screen - Display list of all albums - name of album, number of photos, thumbnail of the cover image of the album, pagination (if required), links to navigate between the pages, Link to the View By screen
4. Others screen - Display the names of all the users who have signed up and created albums on the website, (Not clear if we have to do something like a permission to see the albums belonging to other users, before they can see these albums on this screen. Or there should be something like a friends group amongst the users to view each other's albums). The list of users would contain - list of names of users, name of users is a link that would open a screen similar to the My Photos screen for the selected user, a thumbnail (not clear which cover photo should be shown in this thumbnail).
5. View Album Screen: This screen shows up when user clicks on the link for an album that does not belong to him/her. This screen does not let the user make changes to the album currently open. It has following functionalities:
• shows the list of photographs along with their thumbnails. Clicking on the link of any photograph would open the View Photograph Details. user currently logged in
6. View Photograph Details Screen: This screen would also open for a photograph that does not belong to the user currently logged in. Along with the full size photograph, this screen shows following links/functions:
• Select link – Open a dialog box that allows user to choose one of these actions – Report (shown if this is not user's own photograph), Comment, Tag, Share, Remove (only if this is user's own photograph), This is album cover. All these links would open screens for performing corresponding task.
• Ability to remove a tagged name from the photograph (if it is the owner of the photograph). A pop up to confirm if the user wishes to remove the tag is shown to the user.
• For each of the actions that can be selected in the Select dialog, there is another dialog box to perform the corresponding operation.
7. Dialog boxes:
• Tag: Type or Select a name for tag
• Report: Asks user to enter the details of the threat or violation that s/he is reporting
• Comment: Lets user add a comments to the selected Photograph.
• Share: Lets user share this photograph with other friends of his/her. The friends can be selected from the list displayed on this dialog/screen. User can also remove a particular user from the already selected list of friends with whom the photograph has been shared.
8. Add /Edit Screen - Will simply show two links - Add photos to new album, Edit existing album
9. Add New Album Screen - Lets user create a new album with a name, location, description and privacy level
10. Edit Selected Album Screen- This screen will have following functionality:
• Display all the photographs in the album listed in a paginated display. The list of photographs would show the names of the photograph, comments entered for the photograph so far
• Clicking on the name or thumbnail of any photo would open the Photo detail screen.
• delete the current album – a pop questioning the user “Are you sure you want to delete the album and its pictures?” would show up. Only after user clicks on Yes, will the album be deleted.
• Upload new photographs to the album – multi-file photo uploader dialog box for user to select multiple photographs from any location on their system.
• Change Album Info – will open the Add New Album screen, pre-filled with the details of the current album to make changes to.
11. Multiple Photo uploader screen/pop up – This is the most critical part of the whole application. This would let user choose a location on his/her local system and then pick one or more photographs that he/she wishes to add to the current album. When the upload is successful, user would be taken back to the Edit/View Selected Album screen and a success message informing user of the total number of photographs that have been successfully uploaded. In case of failure, an appropriate error message will be shown to the user
12. Edit Photograph Detail Screen:This screen would show the photograph in its full size along following functions to perform:
• If the album is user's own album they can remove the photograph, remove the names of the people from the tag, add comments, tag the photograph with user names (user can enter a text or choose a name from the friends list given in a pop up), Mark it as shared, Mark the photograph as a cover photo.
• If the album is not user's own album they can do fewer actions on this screen, such as add a comment.
13. Notifications: Send a notification when somebody: comments a picture of you or a picture you have uploaded, tags you in a picture, comments on a picture you have commented on, reports one of your pictures,