Skip to main content

Source Code Gratis Point of sales Versi Laravel versi 5.6 Schema database Siap pakai

Kami mengangkat studi kasus POS (Point of Sales) yang akan memungkinkan peserta untuk memahami bagaimana membuat sebuah aplikasi. Hal ini tentu saja dilatara belakangi, karena banyak orang yang tiada henti belajar bermain dasar namun tidak mampu merangkainya menjadi sebuah aplikasi. Namun, tidak harus dikesampingkan untuk tidak belajar dasar terlebih dahulu, yaitu saling berhubungan satu sama lain.Tahapan dalam membangun sebuah aplikasi adalah dengan melihat kasus-kasus yang akan diangkat menjadi masalah yang akan dipecah menjadi masalah-masalah kecil, kemudian diikuti dengan masalah-masalah kecil.Maka sebelum memulainya, mari kita lihat tulisan pertama: Point of Sales, yang berarti akan terjadi proses pencitraan transaksi, maka dari pencatatan transaksi tersebut terdapat data produk yang telah dikelompokkan berdasarkan kategori agar lebih rapi dan lebih mudah ditemukan, pelanggan data , operator data (admin) dan proses pencatatan antara pelanggan yang membeli produk apa saja kemudian.

Source Code Gratis Point of sales Versi Laravel versi 5.6 Schema database Siap pakai


Schema Diagram Database layout


Setalah kita mendapati gambaran aplikasi yang akan dibuat, maka mari kita coba mengkonversinya menjadi sebuah schema database yang nantinya akan digunakan untuk menyimpan semua data yang diperlukan. 

Source Code Gratis Point of sales Versi Laravel versi 5.6 Schema database Siap pakai



Cara Membuat Migration Database


Sub topik ini sudah pernah dibahas dalam materi Migration, Fitur Ajaib di Laravel.

Tahap pertama, buat migration untuk table categories terlebih dahulu sekaligus dengan model-nya, jadi kita hanya perlu menggunakan command make​::model kemudian diikuti dengan flag -m, yang berarti sekaligus akan meng-generate migration-nya.

Donwload disini

php artisan make:model Category -m

Buka file migration untuk category yang dapat kamu temukan pada direktori database/migrations, kemudian lakukan modifikasi menjadi seperti ini:


public function up()
{
    Schema::create('categories', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('description')->nullable();
        $table->timestamps();
    });
}



Selanjutnya buat migration untuk products:


php artisan make:model Product -m

Kemudian modifikasi kembali migration untuk products:

   
public function up()
{
    Schema::create('products', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('description')->nullable();
        $table->string('stock');
        $table->string('price');
        $table->integer('category_id');
        $table->timestamps();
    });
}


Penjelasan: Terdapat field category_id yang nantinya akan digunakan untuk membuat relasi ke table categories

Karena table users secara default migration-nya sudah disediakan oleh Laravel dan untuk case kali ini, kita tidak akan melakukan perubahan untuk table users. Jadi, melangkah ke table selanjutnya, buat migration untuk table customers:


php artisan make:model Customer -m

Modifikasi migration untuk customers:

public function up()
{
    Schema::create('customers', function (Blueprint $table) {
        $table->increments('id');
        $table->string('email')->unique();
        $table->string('name');
        $table->text('address');
        $table->string('phone');
        $table->timestamps();
    });


Tabel selanjutnya adalah pesanan:


php artisan make: model Order -m
Migrasi-nya menjadi:

fungsi publik naik (){
    
Skema :: buat ('pesanan', fungsi (Blueprint $ table) {
        
$ table-> increment ('id');
        
        ">$ table-> string ('invoice') -> unique ();         $ table-> integer ('customer_id');         $ table-> integer ('user_id');         $ table-> integer ('total');         $ table-> timestamps ();     });}Tabel terakhir yang dibutuhkan adalah order_details: php artisan make: model Order_detail -m Migrasi-nya menjadinya: fungsi publik naik (){     Skema :: buat ('order_details', fungsi (Blueprint $ table) {         $ table-> increment ('id');         $ table-> integer ('order_id');        $ table-> integer ('product_id');         $ table-> integer ('qty');         $ table-> integer ('price');         $ table-> timestamps ();     });}Kok table-nya belum ada di database? karena belum di migrate, jalankan perintah berikut: php artisan bermigrasi Ohya, jangan lupa untuk memuat informasi koneksi database kamu dengan sesu file .env.
 
 Membuat Relasi Database

Seperti yang kamu lihat pada screenshoot sebelumnya, terdapat garis yang menghubungkan antara table yang berelasi. Sebenarnya, bisa saja kita sematkan pada migration sebelumnya. Namun, sengaja saya pisahkan agar lebih mudah menjelaskannya.

Buat migration baru dengan command:
 
   php artisan make:migration add_relationships_to_products_table

Note: Sebenarnya nama migration-nya bebas, tapi sebaiknya mewakili apa yang akan dilakukan oleh migration tersebut agar lebih mudah diidentifikasi.

Method Up, modifikasi menjadi:

...

public function up()
{
Schema::table('products', function (Blueprint $table) {
$table->integer('category_id')->unsigned()->change();
$table->foreign('category_id')->references('id')->on('categories')
->onUpdate('cascade')->onDelete('cascade');
});
}
 

Kesimpulan


Mengakhiri sesi ini, kita telah menyelesaikan schema database
 yang akan digunakan untuk membuat aplikasi Point of Sales,
 maka dengan schema database kita sudah dapat
 membayangkan dan juga mempetak-petakkan apa saja yang 
harus kita selesaikan nantinya dalam proses development. 
Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar
-->