{"repo":"Berkeley-CS61B/simple-office-hours-queue","free":true,"listed":false,"github":"https://github.com/Berkeley-CS61B/simple-office-hours-queue","clone":"git clone https://github.com/Berkeley-CS61B/simple-office-hours-queue.git","description":"Simple Office Hours Queue (SOHQ) is an open source online queue where students can request help and staff members can manage their office hours.","language":"TypeScript","stars":15,"topics":["education","nextjs","reactjs","t3-stack"],"license":null,"category":"saas-starters-boilerplates","readme_excerpt":"Simple Office Hours Queue What? SOHQ is an open-source office hours queue that allows students to sign up for office hours and instructors to manage the queue. For a brief usage guide, click here. Installation Prerequisites - Node.js = 18.17 Clone the reposity and cd into it. For the .env setup, Refer to the .env.example file for the format of the required environment variables. The setup is as follows: Run cp .env.example .env to create the .env file. Ably Ably is used for real-time communication (i.e. queue updates) 1. Create an account on Ably . 2. Create a new app. 3. Go to the \"API Keys\" tab and copy a server API key into the ABLY SERVER API KEY variable in the .env file. The app issues short-lived client tokens from /api/ably/token , so no client API key should be embedded in the frontend bundle. Google OAuth Google OAuth is used for authentication. 1. Create a new project on Google Cloud Platform . 2. Navigate to the Credentials tab. Press the \"Create Credentials\" button and select \"OAuth client ID\". Go throuth the process of filling out the form. Select External if you're given the option. Press the \"Create Credentials\" button again. This time select \"Web application\" as the application type. 3. Create a new OAuth client ID. Make sure to set the Authorized JavaScript origins to http://localhost and redirect URI to http://localhost:3000/api/auth/callback/google . When deployed, add new entries, replacing localhost / localhost:3000 to the new URL. 4. Copy the client ID ","default_branch":null,"files":null,"tree":[],"storefront":"/r/Berkeley-CS61B","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Berkeley-CS61B/simple-office-hours-queue/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}