Jacktrip is a command line program, used by musicians all over the world to collaborate with each other remotely through the internet. Other more commonly used Voice over Internet Protocol (VoIP) softwares, such as Zoom or WhatsApp, have a noticeable audio quality drop while using them. This is unwanted when trying to collaborate and perform music together. Jacktrip provides a solution by supporting bidirectional, high quality, uncompressed audio streaming with any number of channels, allowing musicians to perform together through the internet, while having superb audio quality and low latency.
However, creating Jacktrip servers is not an easy task, especially for musicians whom are usually less technologically literate. Thus, this prototype aims to be a user-friendly ReactJS web application, used to manage Amazon EC2 instances that is running Jacktrip Hub Servers in multiple AWS regions.
Index | Description |
---|---|
Stack Overview | Examine the application architecture. |
High Level Architecture | Check out the application's user interface. |
Application Screenshots | Learn more about each stack of the application |
Deployment | Learn how to deploy this project yourself. |
Credits | Meet the team behind this |
License | License details. |
- Frontend - ReactJS Web Application
- Data - All data is saved in Amazon DynamoDB
- Auth - AWS Amplify and Cognito provides unique user login and authentication.
- Backend - API calls are made to AWS API Gateway and handled by AWS Lambda functions orchestrated by AWS Step Functions. Jacktrip Servers are hosted in Amazon EC2 instances.
Once a room is successfully created, you can either (from right to left)
-
Stop: terminates the room server from running, the IP address would be removed and deleted from the database since the room is not running anymore.
-
Edit settings: edits the current information of the room, including room name, description, frequency, buffer and the region of where the room server is located.
-
Restart jacktrip: restarts the jackstrip server
-
Delete: stops the room server and delete the room information from the database.
-
Share: a link which other guest users can access to see the information and status of the room.
To deploy this solution into your AWS Account please follow our Deployment Guide
This prototype was architected and developed by Andrew Shieh and Jacqueline Huang, with guidance from the UBC CIC technical and project management teams.
This project is distributed under the MIT License.