/with-this-song

InPact.me Ruby Developer Test.

Primary LanguageRuby

With this song Build Status

I put all my genius into my life; I put only my talent into my works.
Oscar Wilde

A music database for those songs that InPacted.my world.

Objective

With the intention of testing my skill on Ruby on Rails, this application uses a set of the most popular gems to develop a complex web application with ease.

About

This application uses the Heroku cloud platform as its deployment server. Click here to see the application working.

As for the test environment two main gems are being used: RSpec and Capybara. The first one is used for the unit and functional tests and both are used for behavioural tests. Travis Continuous Integration is the platform used to build new instances of the application and verify if the code is working accordingly.

The methodology used to write this application is the Behaviour Driven Development. When new features are created first it's designed the expected behaviour of the application and afterwards the code is written.

All the issues are managed within the github website. You can see all the issues by clicking here. Go to the closed issues tab to see what has already been done.

Features

Artists management

In the artists screen you are able to manage artists. Create, edit and list them all.

There can be only one artist with a specific name and it should always have a name.

Genre management

You are able to manage genres in the genres screen. A genre must always have a name.

Songs management

This is the main page of the application. In the songs page a user can see all of their songs ordered by title. A song may have various artists so to see the interpreters you need to click on the play button.

Internationalization support

Users are able to interact with the system with their native language. Just use the languages dropdown button on the right corner of the navigation bar. The currently available languages are: English, Portuguese and Spanish.

Grooveshark integration

With the set (Artist name, Song title) the applivation is able to search on Grooveshark for the intended song. The result isn't a 100% correct, because of wrong inputs that may happen on the Grooveshark songs.

To listen to the songs just click on the play button in the songs page.

Rating system

Songs can be evaluated and be given a rating. Rates goes from 1 to 5, where 5 is the best grade. Rates can be seen as stars in the songs page.