A web app to help practice modes, learn chords, and chart tunes for guitar and bass players.
Practice Buddy is currently in development. The final product will consist of three major components: modes, chords, and charts. The components are detailed below.
Practice Buddy will allow show all seven modes and their corresponding scales. The modes are listed as intervals and actual pitches, and can be adjusted to any starting pitch.
Practice Buddy will map out chords for you. You can chose Ebm7, and the notes (and their intervals) will be displayed, along with a chart showing the chord on guitar or bass.
A database of Nashville system charts will be available for creation, retrieval, update, and deletion.
Note: this feature may require adding user accounts to the application.
Practice Buddy uses Webpack and NPM to build and transpile all React code into regular HTML, CSS, and Javascript.
Make sure you have NodeJS and NPM installed. You can download Node here. This will install NPM as well.
You are welcome to use Yarn instead of NPM if you prefer.
First, clone the project to a local directory.
git clone https://github.com/regexpressyourself/PracticeBuddy.git && cd PracticeBuddy
Next, install the dependencies using NPM or Yarn.
npm install
yarn install
To run Practice Buddy in development mode, you will need to run the start
script declared in package.json
.
npm run start
yarn run start
That's it! Your development server is running at http://localhost:8080
Webpack is configured with hot reloading, so any changes saved to source files will be immediately reflected in the browser.
To build a production version of the app, with all React code loaded into a bundled, minified Javascript file, you need to run the production
script declared in package.json.
npm run production
yarn run production
This will leave you with an index.html
and an index_bundle.js
file in the build directory. Hosting these files from the same location will serve the production build of Practice Buddy.
- React - The web framework that powers the site
- Webpack - A module builder automate development and production build processes
- React Router v. 4 - Sits on top of React to enable route-based views without a backend server
- Babel - Transpiler to convert raw React code into browser-ready HTML and Javascript
- create-react-app - Boilerplate React configuration from Facebook
As always, I'm very happy to receive pull requests, questions/issues regarding code, and feature requests.
Practice Buddy is under active development, poised for a complete feature set by January 2018. If you are interested in contributing, check out the existing projects and issues, and contact me if anything sounds interesting to you.
- Sam Messina - Sole Developer
Practice Buddy is licensed under the MIT License - see the LICENSE.md file for details.