File Directory Explanation -- interactiveWeb


interactiveWeb/

    •	server.js

        o	Handles all google drive calls

        o	Authenticates server with google drive

        o	Handles all socket calls to server

        o	Clients emit to the server, which then processes the data and emits to all clients. 
    
    •	credentials.json
        
        o	File that holds the credentials for the google drive account being accessed
   
    •	token.json

        o	File that holds that static authorization token for the google drive account being accessed

    •	jest.config.js

        o	Contains the config for the testing framework for the project

    •	package.json

        o	Package configuration for the interactiveWeb project powered by node

        o	Contains dependencies and scripts

    •	firebase.json

        o	Defines for firebase what files to use for rules, indexes, and hosting

    •	database.rules.json

        o	Defines rules for firebase database

    •	firestore.indexes.json

        o	Defines firebase indexes

    •	firestore.rules

        o	Defines firebase rules for firestore

    •	storage.rules

        o	Defines firebase rules for storage


interactiveWeb/node_modules/

Holds all the saved node_modules for development and deployment 


interactiveWeb/client/

The server hosts the files inside the ‘client’ folder. Inside the client folder, there are 4 html files that consist of different functionality for the system, each with a javascript file that corresponds to the unique functionality of the subsystem:

    •	index.html for shared canvas

        o	canvasClient.js - javascript file that operates shared canvas

    •	personalCanvas.html

        o	personalCanvas.js - javascript file that operates personal canvas

    •	powerpoint.html

        o	no javascript file that operates shared powerpoint (functionality not yet finished, demo version installed)

    •	doc.html

        o	no javascript file that operates shared document (functionality not yet finished, demo version installed)


Additionally, there are javascript files that have shared functionality, and can be imported based on need:

    •	socketFunctions.js

        o	All shared socket functionality is handled by the functions in this file. 

    •	firebaseApi.js

        o	Handles read and writes to the firebase database

        o	Authenticates users with firebase server

    •	dialog-polyfill.js

        o	Additional imported file required to allow modal dialogs on mobile devices


Finally, the client folder also contains css files to define the stylization of the hosted files:

    •	styles.css

        o	Contains most if not all of the styles used for the various pages

        o	Bottom level css file i.e designed to overwrite any imported css sheets.

    •	header.css

        o	Contains additional css for titles

        o	Being deprecated

    •	Material design lite

        o	Not in client folder, but heavily used via web links to css sheets

    •	dialog-polyfill.css

        o	Required for modal dialog usage on mobile devices
