- Transposition
- Autoscrolling
- Clients share where they are with each other, and can "follow" each other (i.e. scrolling will be synced and if the leader opens a given chord sheet the follower will open it too)
- Collect some chord sheets as plain text files with the extension
.txt
. The file names will be shownin-app
and are recommended to be of the form[Artist] - [Title]
. Place these in the directory/chords
. npm install
npm run dev
Some familiarity with systems administration is assumed.
- Collect cord sheets, same as for running locally
npm install
andnpm run build
npm run start
. If port 3000 isn't available, editserver.js
.- Have a look at
deploy.sh
and take some inspiration on it - Set up a reverse proxy which provides TLS, serves static files (from
build/
as produced bynpm run build
) on its root, and proxies/api
to theserver.js
script. - Jam!
Short answer: No.
Longer answer: This is intended to be used by small groups (<10 people), and it is assumed that if multiple groups want to use this they will each deploy their own instance.
Clients trust each other blindly. Remote code execution shouldn't be possible, but DoS attacks and impersonating other users are trivial. I intend to add authentication at some point, so that only authenticated clients can send and receive messages, but haven't started on that yet.