Music Connect is a remote music education web app that allows for lossless real-time remote playback.
This application uses Google for authentication. First, you will need to configure an OAuth Consent Screen. Be sure to request access to the following scopes:
API | Scope | User-facing Description |
---|---|---|
People API | ./auth/userinfo.email | View your email address |
People API | ./auth/userinfo.profile | See your personal info, including any personal info you've made publicly available |
The OAuth 2.0
Consent Screen can be created here: https://console.developers.google.com/apis/credentials/consent
Both of these scopes are considered Non-Sensitive and do not require app verification.
In order to run the application, even locally, you will also need to setup OAuth 2.0
Client ID at https://console.developers.google.com/apis/credentials. Do this after you have already setup your Consent Screen.
This software uses the Node JS runtime.
- If you don't already have it, install Node JS before continuing.
- If you don't already have it, install Node Package Manager (NPM) before continuing.
- Fork or clone the repository.
- Run
npm install
- You will need to move your
OAuth 2.0
Client IDJSON
file into the project root. You can download this from https://console.developers.google.com/apis/credentials under "OAuth 2.0 Client IDs". - Rename your
OAuth 2.0
credentials file (that you just downloaded) togoogle-client-credentials.json
. - Rename
.env-sample
to.env
. Inside change the value ofAPPSECRET
to any random string (this is your JWT secret) and the value ofINSTRUCTORS
to include your email address. If you do not need more than one instructor email address, then remove the other. If you need more, expand the array as you need.
- Run
npm run build
- Run
npm start
- Open
http://localhost:3000
Instructor view classroom routes start with /i/***-***-****
. If an /i/
is in the URL, you are accessing an instructor view. Be sure to sign in with a Google account that is linked to the email address you used in the INSTRUCTORS
environment variable in the .env
file. Otherwise access will be denied to instructor views.
Student view classroom routes start with /c/***-***-****
. If an /c/
is in the URL, you are accessing a student view. You may sign in with the same account that also has instructor permissions, or sign in with a different account entirely.
IMPORTANT If you are testing instructor and student view all on the same computer, you must use two different browsers (i.e Chrome and Firefox) or use a private browsing/incognito window. This application uses WebRTC which is not intended to connect to users with the same session across multiple tabs. You must create separate sessions to create a successful connection between a student and instructor.
See CONTRIBUTING.md