Project 1 - A Facebook App w/ Photos , +Facebook Sevice, Google SaaS, Google PaaS w/Database
295 points
Points: 10 proposal, 30 interface, 60 documentation, 125 app, 20 for github.com,50 Analytics
GROUP Work
Due dates -
-
Proposed App Purpose (how/why presenting results to user) due 11pm March 26
-
Application and Documentation and Analsytics Report Due now Start of class April 28 (you will present on that day to the class)
***PEER Grading using Google Shared Doc --- DUE May 3 at 11pm (note: I will take off points from your score if
you do not evaluate groups appropriately/fairly)
*******
*******NEW Facebook APP Regulations July 2020 *******
You will be working to create Social Network Application on Facebook. This app will feature the non-trivial use Google SaaS Computer Vision analysis of Facebook User Photos and Storage of results to the GAE datastore.
The instructor AND assistant should be included as a “developer” on any of your deployments of Facebook app (otherwise we can not run it or grade it).
Project Description & Requirements
The Concept - System Stages AND the PROPOSAL PHASE
-
(STEP1+2) Facebook APP -> Retrieve User Photos [UP]
-
(STEP 3)
3a) From Retrieved User Photos [UP] keep only the ones that do not have URL entries inside Google Datastore --> [UP']
3b) for remaining User Photos [UP'] cycle through each Image i and --> send TO Google SaaS Computer Vision API --> output XXX --> store in some datastructure like Hash[Image i Facebook URL] = {user name, photo url, output XXXX]
-
(STEP 4) store Hash to Google DataStore STORAGE [user name, photo url + outputXXX] --> Storage Record YYY
-
(STEP 5) Retrive ALL/MOST/??? Storage Records YYY for user--> PROPOSED App PURPOSE INCLUDING SOME ADDITIONAL FACEBOOK SERVICE--basically what will be the output display in Facebook APP--how will you show and make meaning of the results
PROPOSAL PHASE: your group will need to submit a proposal to BB->DiscussionBoard->Project1 Proposals. That shows a interface mockup that discusses how the results retrieved from the Firestore Storage for a user be used in the interface of your application ? What can you do with the data in the output from the Computer Vision SaaS to make an interesting display ??????
INCLUDING SOME ADDITIONAL FACEBOOK SERVICE: this means that you must use the man Facebook Services/SDKs like Business Tools, AI, AR/VR, Instagram, etc. as part of the application you are creating. This must be something non-trivial (not simply posting to Facebook) and must be something that makes sense in the purpose of your proposed application.
Below shows you non-coding results of Steps 1,2 and 3 which process retrieve a user's facebook photos using Graph API on and the Google SaaS Computer Vision API processing results on one of these photos.STEP 1: ask using Facebook Graph API for access to user's photos ---for example for the user of the app ("me" id) this would be the request and the resultsRequest: see the photos field being requestedme?fields=id,name,photos,friends,gender,email
|
Analytics REQUIREMENT(50 points)
Analytics Implementation & Comparison
Code Requirements and Social Web Requirements (125 points -see eval below)
-
While it may be possible to implement an application in different languages you are required to use Java and deploy and use Google App Engine
-
As such you will be creating Servlets/JSP code in java. For static you will use HTML and CSS for styling. You will use JavaScript to perform Facebook Authentication and to get any Social Data that your JSP code will have access to (the Javascript will be in the same file)
-
Your group is to create both local and remote Git repositories inside of Eclipse. The remote repository is on Github
-
Required: use Trello Board OR ZenHub to track your work on this project. Also suggest that you use the same (Eclipse) IDE you have used in your preceeding exercise on GAE.
Interface (30 Points)
-
You implemented proposed interface and it has meaning and is easily useable with pleasing graphics and organizaiton
Documentation (0 to 60 points --- without this no evalution possible
Create shared Github repository (should be open for me and others to look at given URL) that contains BOTH the code and Documentation. Regarding the Wiki documentation you must have the following PAGES (keep these titles)
Page names in github wiki | Contents you should have | |||
1) IIntro Evaluation: 0 to 5 points |
|
|||
2) Description Evaluation: 0 to 5 points NOTE: I understand that some of this information I can see by going to the github code |
|
|||
3) Demonstration of Application working Evaluation: 0 to 10 points |
|
|||
4) GAE issues AND GAE Datastore Evaluation: 0 to 5 points |
One screen shot showing app useage ---you should show multiple views on dashboard!!!
One screenshot showing DataStore for the Entity called University (there are over 20 as you can see)One screeshot showing INSUFFICIENT AMOUNT OF DATA STORED For a students App for Entity called Person
|
|||
5) Java Code Documentatoin (javadoc style) create javadoc for this project and zip up and attach to this documentation. Evaluation: 0 to 5 points |
|
|||
6) Code Evaluation: 0 to 5 points |
|
|||
7) YouTube Video (must be unlisted not private) Evaluation: 0 to 30 points |
CONTENTS of video in THIS ORDER (USE THIS PPT AS INTRODUCTION TO EACH SECTION OF THE VIDEO) 1) Introduction: Showing a page (you can video a typed up page you display on your computer) including:
2) PROPOSAL: Go over your proposal: Bring up document of your proposal and show the text and talk about what you were able to achieve and not 3) DEPLOYMENT: Go to the Facebook developer page and show the deployed URL pointing to your GAE webapp (you had better had a GAE url under the canvas url(s) ). AND show your remote repository commits and code that is on Bitbucket.org 4) RUN DEMONSTRATION: Now run your Facebook app, go over each functionality of your app and fully demonstrate it (runn Facebook Application, THEN show adding new Facebook image to a user account and then RERUN the Facebook application) 5)GAE DASHBOAD: Bring up the Google App Engine Dashboard - show the useage information of your webapp. 6) GAE DATASTORE USEAGE: Discuss the GAE Datastore useage and show a picture of the data the is collecting/using. . NEXT, show the actual implemented Datastore data. SHOW the GAE datastore data from the GAE tools directly!!!! Show before and affter when data is altered/created (if you app does this) 7) SUMMARY:
|
|||
8) Analytics Evaluation: see Analytics Report |
|
Deliverables (EACH member of the group MUST turn in separately --even though it is the same content) -- see due dates at top
- PROPOSAL: Create github for project and create in the wiki a page called "proposal" that you document the purpose of your app and give a mockup of the interface(s) showing how the user would use the app and any results displayed. Turn in github URL to BB->Discussion Board->Project1 Proposal
- COMPLETION: Code and Documentation to be present on github. ALL documentation including Analytics report to on github AND Deliver github URL to BB->Projects->Project 1- Facebook
You must fully test (with IE, Safari and Chrome)!! NOTE: see above for details of what is needed in wiki pages. - DEMONSTRATION: Give demonstration of system working for instructor -- as requested. YOU MUST HAVE A YOUTUBE DEMONSTRATION OR WILL GET A 0 and it MUST BE COMPLETE