Skip to content

Caopi/chords-nextjs

Repository files navigation

Chord sheet viewer for little jam groups

Features

  • 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)

Running locally

  1. 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.
  2. npm install
  3. npm run dev

Deploying

Some familiarity with systems administration is assumed.

  1. Collect cord sheets, same as for running locally
  2. npm install and npm run build
  3. npm run start. If port 3000 isn't available, edit server.js.
  4. Have a look at deploy.sh and take some inspiration on it
  5. Set up a reverse proxy which provides TLS, serves static files (from build/ as produced by npm run build) on its root, and proxies /api to the server.js script.
  6. Jam!

Scalability

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.

Security

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.

About

Reimplementation of https://git.mbosch.me/linus/chords using React NextJs and Typescript. Work in progress

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published