Question Visualizer for Q&A for Monocle.
Imagine one of two scenarios:
Scenario one: You are giving a briefing or a presentation. Your audience have questions pertaining to what you shared but they are not able to raise it at that point in time. You share with them a Google Sheet for them to key in their questions. You have their questions in view. You handle their questions at an interim juncture.
Scenario two : You are a teacher/lecturer teaching a lesson. Your students have questions. They hesitate to raise them as the group size is huge and they are processing their thoughts,trying to phrase their questions. You share with them a Google Sheet for them to key in their questions. You have their questions in view. You handle their doubts at a Q&A segment.
This app allows you to collate the questions from the shared Google Sheets using Google Sheets API. The questions are listed and numbered as they are sequenced in the Google Sheet. The webapp uploads the questions to Monocle. Toggle forward and backward using the Touch buttons on Monocle to traverse the uploaded questions.
- Ensure Node, NPM are installed.
- Create a Google Cloud Project at http://cloud.google.com/
- In the Google Cloud console, go to menu>API &Services>Credentials.
- Create your OAuth client ID : Call it Web Client 1 (Name of your choice).
- Click the named Web application ; (Web Client 1): Authorised JavaScript origins > URL 1 : http://localhost:8000 Authorised Redirect URIs > URL 1 : http://localhost:8000/
- Click Create or Save.
- Note your CLient ID.
- Under API & Services>Credentials
- Create credentials > API keys
- Note your API keys.
- Create a 3 column 31 row googlesheet (Size of sheet ; rows is up to you).
- First column Title : Number
- Second column TItle : Question
- Third column TItle : Participant
- Note down the Google Sheet ID.
- Install Python.
- Install VS code and all its relevant extensions. Extensions : Python, node, Brilliant AR Studio etc.
- In VS Code, run a copy of this project from GitHub repository.
- Under script.js, key in your Client ID and API keys.
- Under download.js, key in your Sheet ID and Sheet Range.
- Under upload.js, key in your Sheet ID and Sheet Range.
- At the project tab, click on index.html, close all other terminals and nodes.
- Call up a terminal.
- In your working directory prompt, type node.
- In your working directory prompt, install the http-server package by typing : npm install http-server
- In your working directory prompt, start a web server: npx http-server -p 8000
- In your browser, navigate to http://localhost:8000
- Click Authorise for authentication. Click continue at the prompts.
- When the Connect! button appears, click it to pair to the Monocle by Bluetooth. Upon pairing, the Download and Upload button appears.
- Click Download to obtain a correctly formatted file named data.json.
- Cut and paste the data.json file to the project folder.
- Sign out, close server, terminate node session.
- In VSCode, connect to monocle using Brilliant AR studio, click refresh to see the files in Monocle.
- Upload main.py and data.json onto Monocle by right clicking the files, Brilliant AR Studio: > Upload File To Device.
- Done ! You are ready to see the questions raised by participants and scroll through them. (Note that you might have to reboot Monocle.)
- Alternatively, click upload ; Skips steps 9 ~ 12.
- Refresh > Connect > Upload ; helps you to curate new submitted questions.
This project started off from bouncing ideas off several discord members.
and from project readings
Link : https://docs.brilliant.xyz/community/
and finally by applying design thinking, reading api references from
Link : https://docs.brilliant.xyz/micropython/micropython/
Some members to thank:
- Josuah (Techplumber with brilliant labs) , for the numerous source reference and pointers.
- milesprovus (creator of Project Monocle Teleprompter) , for his project work flow explainations. and also several other community members in Brilliant Lab Discord https://discord.gg/RtwpPjWPNN ,for guidance and support. and of course God, for HIS inspiration and his big invisible hands.
5/1/2024 (Friday)