An application used to be able to queue videos or songs and sync it across users in separate "rooms"
- Login / Sign Up
- Create rooms (password or no-password)
- Enter rooms
- Queue videos (YouTube, Twitch, custom files)
- React.js
- Tailwind CSS
- AWS API Gateway (REST + WebSocket)
- AWS Lambda
- AWS DynamoDB
- AWS S3
- Terraform
Clone down this repository. You will need node, npm, aws cli, and terraform installed on your machine.
Installation:
npm install
To Start Server:
npm start
To Visit App:
localhost:3000/
Create an AWS account. Make sure to use AWS CLI to configure the credentials on your system.
go into /backend
Deploy backend:
- go into
/backend/lambda - run
function_zip.ps1 - go back to
/backend - run
terraform apply
Create a Links.js file in the ROOT DIRECTORY! (process.env is better but I opted to using a simple js file)
export const WEBSOCKET = '/* links websocket URL */';
export const WBSOCKET_PRIVATE = '/* rooms websocket URL */';
export const ENDPOINT = '/* REST api URL */';
export const s3_data = {
S3_REGION: 'us-east-2', // your region
S3_NAME: 'muqu_files',
S3_ACCESS_KEY: '', // your access_key
S3_SECRET_KEY: '' // your secret_key
};
In all the lambda files, make sure to replace all the hardcoded websocket urls with YOUR urls!
Run the deploy steps 1-4 again