/songwriters_friend

Portfolio Project 2: Build a Web Application using Sinatra

Primary LanguageRubyMIT LicenseMIT

Songwriter's Friend

This is an app for storing information about songs. Simply create an account with an email address, username, and password and create, review, edit, or delete songs.

When users create their account, they are taken to their user page which displays links to songs (when they are created) as well as options to create a new song, see a list of all users, or delete their account (which deletes all of the user's songs as well).

When users choose the "New Song" button on their page, they are taken to a webpage at which they can enter all information they care to save for their song. The only requirement is a song title.

After the song information is filled in to whatever capacity the user cares to input, the song is saved by clicking "Create Song" at the bottom of the page and the user is redirected to the freshly made song display page.

Here, the user can look over any information about the song they made and decide if they'd like to go back to their homepage, edit the song, or delete the song.

Should the user want to make changes, they simply click Edit at the bottom of the page and are brought to a similar page to the one for a New Song - but this one has their information input already. Everything should be pre-filled so they can see all information and decide what to change, if anything. Afterwards, they can click Save Changes to return to the song's display page.

At this point the user may decide they no longer want to remember this song, in which case they can hit the Delete button to delete that song and return to their homepage.

The list of all users provides links to those users' pages, so any user can see any other user's songs - but cannot edit or delete them.

Thank you for using Songwriter's Friend!

Usage / Install Instructions

To use this app, just clone, run rake db:migrate and then run shotgun. Everything should be set up.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License:

[MIT] https://opensource.org/licenses/MIT