A simple scheduling app with an in-memory database that uses the Zoom Calendar API to schedule Zoom Video SDK sessions and perform basic validations. The app consists of:
- A scheduling backend + frontend (Java/Spring Boot/HTML)
- A Video SDK frontend (Javascript), from Zoom Video SDK UI Toolkit sample
- A Video SDK JWT endpoint (Java/Spring Boot), from Video SDK Auth Endpoint example
- A Zoom account with Zoom Mail and Calendar activated so you have a calendar id (your @zmail.com address)
- A Zoom Marketplace app on this account (Server-to-server) for your account id, client id and secret.
- A Zoom Video SDK account
- A Zoom Marketplace app on this account for your video sdk key and secret.
Prerequisite: JDK 22+ installed. May work on lower versions, but this is what the repo is tested with.
- Clone this repo
- Copy the
.env.example
file to a new file called.env
cp .env.example .env
- Replace the placeholders in the
.env
file with your actual values - Run the app
source .env && ./mvnw spring-boot:run
- Application will be available at http://localhost:8080
- Navigate to http://localhost:8080 and enter some valid details
- Open your Zoom (@zmail) account in the Zoom Client. This should show a freshly created item in your calendar.
- Open the calendar item and click the session join link. This should go back to the app and start a Zoom Video SDK session.
- Can't join a session past its planned end date/time.
- Can't join a session earlier than 15 minutes before its planned start.
- Can't start a session if the session name is unknown, or the passcode doesn't match the stored one
- There's a handy database console at http://localhost:8080/h2-console
- Use the default password from
application.properties
to log in