Skip to content

Zacharyflynn06/in-the-shed-backend

Repository files navigation

In The Shed

In The Shed Backend

In The Shed is a tool designed for musicians to practice playing melodies, basslines, scales, and arpeggios over a song-form that they can define. In the shed is a single page JS web application front end, using a Rails API backend.

Usage

Users can simply start the metronome by clicking Start and choosing a tempo. If you would like to add harmony to the form, simply choose how many bars you would like the song to be, and a time signature for the song, then click "Create Measures'. This will generate the specified number of measures on the song form, and the metronome will now play in the time signature that was specified. To add harmony, click "Add Chords". This will turn the tool card around, and allow the user to create almost any chord they like with the three drop down menus. Once you click "Create Chord", the audio sample for the selected chord will play, and you are free to drag and drop the chord into the position you want it on the form. Once you have added all the chords for your song, simply press play on the metronome and the song will begin playing, and loop at the end of the form. You can increase or decrease the metronome in real time, and move chords while the song is playing.

If you wish to save your song, simply login or create a User profile using the menu on the left hand side. Once you have logged in, you will see save and delete buttons appear underneath the form.

If you wish to minimize the menu, simply press the hamburger icon.

Installation

Fork and clone this repo

Load the repo on your system

Run Bundle install in your terminal to install all required gems.

Run rails db:create to create the database.

Run rails db:migrate, and rails db:seed to set up the database

Create a .env file in the root of the directory, and inside create a session secret like this SESSION_SECRET = "this is your secret"

Run 'rails s' in your terminal to create a local environment. The frontend will depend on this server to communicate!

Contributors Guide

Use the 'make a contribution' button

Navigating a new codebase can be challenging, so we're making that a little easier. As you're using docs.github.com, you may come across an article that you want to make an update to. You can click on the make a contribution button right on that article, which will take you to the file in this repo where you'll make your changes.

Before you make your changes, check to see if an issue exists already for the change you want to make.

Don't see your issue? Open one If you spot something new, open an issue using a template. We'll use the issue to have a conversation about the problem you want to fix.

Note: We cannot accept contributions to the REST API reference documentation. If you spot an inaccuracy in the REST API reference documentation, open an issue in the github/rest-api-description repository.

Ready to make a change? Fork the repo Fork using GitHub Desktop:

Getting started with GitHub Desktop will guide you through setting up Desktop. Once Desktop is set up, you can use it to fork the repo! Fork using the command line:

Fork the repo so that you can make your changes without affecting the original project until you're ready to merge them. Fork with GitHub Codespaces:

Fork, edit, and preview using GitHub Codespaces without having to install and run the project locally. Make your update: Make your changes to the file(s) you'd like to update. Here are some tips and tricks for using the docs codebase.

Are you making changes to the application code? You'll need Node.js v14 to run the site locally. See contributing/development.md. Are you contributing to markdown? We use GitHub Markdown. Open a pull request When you're done making changes and you'd like to propose them for review, use the pull request template to open your PR (pull request).

Submit your PR & get it reviewed Once you submit your PR, others from the Docs community will review it with you. The first thing you're going to want to do is a self review. After that, we may have questions, check back on your PR to keep up with the conversation. Did you have an issue, like a merge conflict? Check out our git tutorial on how to resolve merge conflicts and other issues. Your PR is merged! Congratulations! The whole GitHub community thanks you. ✨

Once your PR is merged, you will be proudly listed as a contributor in the contributor chart.

Keep contributing as you use GitHub Docs Now that you're a part of the GitHub Docs community, you can keep participating in many ways.

Learn more about contributing:

Types of contributions 📝 📣 Discussions 🐞 Issues 🛠️ Pull requests ❓ Support 🌏 Translations ⚖️ Site Policy Starting with an issue Labels Opening a pull request Working in the github/docs repository Reviewing Self review Pull request template Suggested changes Windows Types of contributions 📝 You can contribute to the GitHub Docs content and site in several ways. This repo is a place to discuss and collaborate on docs.github.com! Our small, but mighty 💪 docs team is maintaining this repo, to preserve our bandwidth, off topic conversations will be closed.

License

MIT License

Copyright (c) 2021 Zacharyflynn06

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published