Reference no: EM133181345
Course: MSCC/MSCBD
Introduction
In this assignment you will be tasked with building an image storage service. It is expected to be capable of dealing with multiple galleries and multiple images. it is expected that proper segregation of user data is implemented. i.e. A user should not be able to see other user's galleries or images unless they have explicitly been shared with them.
For this assignment you will be expected to be able to get a user to create multiple galleries and in those galleries they should be able to store images. At no point should one user be able to see the information stored by another user in the application.
You are required to submit two separate components to the Moodle
• An archive containing your complete Google App Engine Python project. The accepted archive formats are: zip, rar, 7z, tar.gz, tar.bz2, tar.xz.
• A PDF containing documentation of your code. If you do not provide documentation your code will not be marked.
• An omission of a git repository attached to your email address that is registered for GCD will result in your application and documentation not being graded.
Coding Brackets
• Group 1
1. Generate an application shell with a working login/logout system
2. Generate models to represent users, galleries and images
3. When a user logs in for the first time generate a user object and store it. This should be retrieved when the user logs in to the system in future.
4. Enable the user to add galleries through a form.
• Group 2
5. Enable the ability to edit the names of the galleries.
6. Enable the ability to delete a gallery.
7. Enable the gallery name to be clicked on and transfer the user to a page showing the contents of that gallery
8. On the gallery page show a form for uploading an image, make sure to restrict this to JPG and PNG formats only (*.jpg, *.jpeg, *.png only)
• Group 3
9. Add in a link to the gallery page that will bring the user back to their list of galleries.
10. When images have been uploaded arrange them in a grid format on the gallery page
11. Add in the ability to delete an image.
12. Add in the ability to detect duplicate images in a single gallery (must be done using either an MD5 or SHA1 hash)
13. Add in the ability to detect duplicate images in all galleries (must be done using either an MD5 or SHA1 hash)
• Group 4
14. Modify the list of galleries to be arranged in a grid like format
15. Modify the list of galleries to show the first image for each gallery
16. Enable a user to share a gallery with another user.
17. UI Design: Well thought out design that is intuitive and easy to use.
• Major bugs (10% reduction for the presence of one of these bugs upto a maximum of 40%)
- A gallery with the same name can be added by the same user twice.
- A gallery whose name is edited cannot match the name of an existing gallery for that same user.
- Deletion of a gallery removes the wrong gallery.
- When deleting a non-empty gallery it is removed without prompting the user if they wish to delete a non-empty gallery.
- Non-supported file types can be uploaded.
- Deletion of an image removes the wrong image.
Attachment:- CPA application assignment.rar