Simple Composer
ReactAxiosExpressMongoDB
viewsNot yet translated — shown in the original language.
Simple Composer
An app that helps you write songs
Frontend: React, Axios, Tonal.js, Howler.js
Backend: Express
Database: MongoDB
Installation
- After cloning the project, fill in your MongoDB URL in backend/.env.defaults and save the file
MONGO_URL={MongoDB URL}
- Install node_modules in both frontend and backend
cd frontend
yarn
cd ../backend
yarn
- Start the backend
yarn server
- Open another terminal and start the frontend
yarn start
How to use:
- Enter a username
- Choose a key
- Choose chords
- Play!
Features
- Enter a username and press Send. If the user doesn't exist in the database, you're taken to the key settings page. If the user already exists, their previously saved chart is loaded.
- On the settings page, choose a key and octave, then press start to open the chart. The top right shows the username and the selected key and octave, and a default chart is shown based on the key.
- On the chart page, you can click the key and octave values to change them. When you change the key, the chart is automatically transposed into chords of the new key
- Click any chord to change it. The options are limited to the diatonic chords of the selected key
- Press Save to save the current chart. For a new user, a new record is added to the database with the alert "Data added!"; for an existing user, their record is updated with the alert "Data saved!"
- Press Play to play the current chart in order, skipping empty slots. Once you press Play, you can't press it again until the music finishes
- Press Clear to clear the current chart
- Press No Idea to replace the chart with the Canon chord progression
- Press Change User to go back to the username page