Skip to content

csuich2/gdoc-access-app

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Google Docs support for Expertiza

--------------------------------------------------------------------------------
TEAM
--------------------------------------------------------------------------------
Neelam Chitnis: [email protected]
Chetana Kethinedi: [email protected]
Rita Lui: [email protected]

--------------------------------------------------------------------------------
PROJECT GOALS
--------------------------------------------------------------------------------
This is a prototype Rails app developed to demonstrate how to access a user's 
Google files using Google Drive API. It serves as a proof of concept for 
implementing Google Docs support in Expertiza.

--------------------------------------------------------------------------------
SEED DATA
--------------------------------------------------------------------------------
Due to time constraints, admin funtions were not implemented, even though the 
user model supports such notion. In config/seeds.rb, the following data is 
seeded:
* 1 admin 
* 3 users
* 3 assignments
* the linking of users to assignments is hardcoded in submitted_works table
  via seed data 

--------------------------------------------------------------------------------
DEVELOPMENT
--------------------------------------------------------------------------------
1. Edit config/initializers/omniauth.rb and replace CLIENT_ID and CLIENT_SECRET
   with the real info.

2. At the project's root directory:

   $ bundle install
   $ rake db:setup

2. To bring up Rails server:

   $ rails s -b localhost 

--------------------------------------------------------------------------------
FLOW OF EVENTS
--------------------------------------------------------------------------------
1. User signs in.
2. Upon successful authentication, user is directed to a task list that shows
   the assignment he/she is assigned.
3. User wishes to submit a document from his/her Google account, so he/she
   clicks on the Google icon to initiate the authroization/authentication
   process.
4. User is re-directed to Google's server to be authenticated and asked to
   grant this app access permissions to his/her files.
5. User is re-directed to his/her task list. 
6. User clicks on a submit link and is asked to enter the name of the
   Google file to be submitted.
7. This app uses the Google API client to search the file by name. 
8. If the file is found, a new permission is added to the file to allow
   "anyone with the link" to comment on the file.
9. User is re-directed back to the task list.
10. User can click on the review button to see a list of the files he/she
    has submitted and their links.
11. Anyone can use the link(s) displayed to view the file and comment on the 
    file via a browser

--------------------------------------------------------------------------------
NOTES
--------------------------------------------------------------------------------
* omniauth and omniauth-google-oauth2 gems are used for oauth 2 authorization
  and authentication
* google-api-client gem is used to interface with Google Drive API v2
* due to time constraints, there is no code that uses a refresh_token to get a 
  new access_token once it expires

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published