sikher / gurbanidb

An API for the Sikh Scriptures using the Laravel PHP framework
https://api.sikher.com
18 stars 4 forks source link

Proposing additional fields to the Melodies table #8

Open jasdeepkhalsa opened 9 years ago

jasdeepkhalsa commented 9 years ago

By @irvanjit: Proposing additional fields to the Melodies table that will contain additional information on the raag, of a musical nature. This information is crucial for the individual reading/singing a given shabad who wishes to sing it as prescribed by the Guru. A suggested and reputable datasource would be vismaadnaad.org (an example can be found here: http://vismaadnaad.org/Siree-Raag.php)

Also, as an aside, since some shabads in Sri Guru Granth Sahib Ji have also been assigned a 'ghar' (tabla taal), a complete database ought to account for that information as well. A table such as Rhythm would work, although most shabads would get a null value for associated Rhythm.

jasdeepkhalsa commented 9 years ago

This is a good idea! However, I would prefer that if you're including a pull request that it's included with the final data for the melodies table as I will not have time to populate or work on this. I can though connect you with the necessary people/trained Kirtanis if you wish to undertake this fully to get to the final set of data.

jasdeepkhalsa commented 9 years ago

By @irvanjit: Yes, realized I should have just opened an issue instead. I wanted to get the model architecture reviewed for consistency purposes first though (i.e. english being used for field names), since this type of data hasn't been laid out in any data model in the past. As I mentioned, the data exists in various books/websites including the vismaad naad site. I can update this branch once I've scraped it.

<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class EditMelodiesTable extends Migration {
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::table('melodies', function(Blueprint $table)
        {
            $table->string('parent_melody');
            $table->string('class');
            $table->string('time');
            $table->string('primary_note');
            $table->string('secondary_note');
            $table->string('forbidden_note');
            $table->string('ascending_scale');
            $table->string('descening_scale');
            $table->string('characteristic_scale');
            $table->string('information');

        });
    }
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::table('melodies', function(Blueprint $table)
        {
            //
        });
    }
}