1. Pengantar Laravel 8 dan Ecommerce
Laravel 8 adalah framework PHP modern yang powerful dan elegan, sangat cocok untuk membangun aplikasi web skala kecil hingga besar. Dalam ebook ini, Anda akan belajar membangun aplikasi ecommerce profesional dengan fitur lengkap seperti manajemen produk, keranjang belanja, checkout, dan dashboard admin.
Ecommerce adalah platform jual beli online yang memungkinkan pengguna untuk membeli produk secara digital. Dengan Laravel 8, kita dapat membangun ecommerce yang scalable, aman, dan mudah dikembangkan.
2. Persiapan Lingkungan dan Instalasi
Sebelum memulai, pastikan Anda sudah menginstall beberapa tools berikut:
-
PHP >= 7.3
-
Composer (Dependency Manager PHP)
-
MySQL atau MariaDB
-
Node.js dan npm (untuk asset management)
-
Code editor seperti VSCode
Langkah instalasi Laravel 8:
-
Buka terminal dan jalankan perintah:
composer create-project laravel/laravel ecommerce "8.*"
-
Masuk ke folder project:
cd ecommerce
-
Jalankan server development:
php artisan serve
-
Buka browser dan akses
http://localhost:8000
3. Memahami Struktur Project Laravel 8
Setelah instalasi, penting untuk memahami struktur folder Laravel 8:
-
app/
- Tempat kode aplikasi seperti Models, Controllers, dan Logic bisnis
-
routes/
- File definisi rute aplikasi
-
resources/
- View, assets, dan file blade template
-
database/
- Migrasi dan seeder database
-
public/
- File publik seperti gambar, CSS, dan JS
4. Membuat Database dan Migrasi
Langkah pertama membangun ecommerce adalah membuat database dan tabel yang dibutuhkan. Laravel menggunakan migrasi untuk mengelola struktur database.
Langkah membuat database dan migrasi produk:
-
Buat database MySQL bernama
ecommerce_db
-
Atur koneksi database di
.env
:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ecommerce_db
DB_USERNAME=root
DB_PASSWORD=
-
Buat migrasi produk:
php artisan make:migration create_products_table --create=products
-
Edit file migrasi di
database/migrations/xxxx_xx_xx_create_products_table.php
:
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('description')->nullable();
$table->decimal('price', 10, 2);
$table->string('image')->nullable();
$table->timestamps();
});
}
-
Jalankan migrasi:
php artisan migrate
5. Membuat Sistem Autentikasi User
Ecommerce membutuhkan sistem login dan registrasi user. Laravel menyediakan starter kit untuk autentikasi yang mudah digunakan.
Langkah membuat autentikasi dengan Laravel Breeze:
-
Install Laravel Breeze:
composer require laravel/breeze --dev
-
Jalankan perintah instalasi Breeze:
php artisan breeze:install
-
Install dependencies dan build assets:
npm install
npm run dev
-
Jalankan migrasi user:
php artisan migrate
-
Jalankan server dan akses
http://localhost:8000/register
untuk registrasi user baru.
6. CRUD Produk Ecommerce
CRUD (Create, Read, Update, Delete) produk adalah fitur utama ecommerce. Kita akan membuat controller, model, dan view untuk mengelola produk.
Langkah membuat CRUD produk:
-
Buat model dan controller resource:
php artisan make:model Product -m
php artisan make:controller ProductController --resource
-
Tambahkan route resource di
routes/web.php
:
Route::resource('products', ProductController::class);
-
Isi method controller untuk CRUD (contoh method
index
):
public function index()
{
$products = Product::latest()->paginate(10);
return view('products.index', compact('products'));
}
-
Buat view blade di
resources/views/products/index.blade.php
untuk menampilkan daftar produk dengan tabel dan tombol aksi.
-
Tambahkan form create dan edit dengan upload gambar produk menggunakan
enctype="multipart/form-data"
.
7. Fitur Keranjang Belanja
Keranjang belanja memungkinkan user menambahkan produk yang ingin dibeli sebelum checkout. Kita akan menggunakan session untuk menyimpan data keranjang.
Langkah membuat fitur keranjang:
-
Buat route untuk menambah, melihat, dan menghapus item keranjang:
Route::post('/cart/add', [CartController::class, 'add'])->name('cart.add');
Route::get('/cart', [CartController::class, 'index'])->name('cart.index');
Route::post('/cart/remove', [CartController::class, 'remove'])->name('cart.remove');
-
Buat controller
CartController
dengan method
add
,
index
, dan
remove
.
-
Gunakan session untuk menyimpan array produk yang ditambahkan ke keranjang.
-
Buat view keranjang yang menampilkan produk, jumlah, harga subtotal, dan tombol hapus.
8. Proses Checkout dan Pembayaran
Setelah keranjang siap, user dapat melakukan checkout dan pembayaran. Kita akan membuat form checkout dan integrasi metode pembayaran sederhana.
Langkah membuat proses checkout:
-
Buat route dan controller method untuk menampilkan form checkout dan menyimpan pesanan.
-
Buat tabel
orders
dan
order_items
dengan migrasi untuk menyimpan data pesanan dan detail produk.
-
Buat model
Order
dan
OrderItem
dengan relasi ke user dan produk.
-
Buat form checkout dengan input alamat pengiriman, metode pembayaran, dan ringkasan pesanan.
-
Setelah submit, simpan data pesanan dan kosongkan keranjang session.
9. Dashboard Admin dan Manajemen Pesanan
Admin ecommerce perlu dashboard untuk mengelola produk dan pesanan. Kita akan membuat halaman admin dengan autentikasi khusus.
Langkah membuat dashboard admin:
-
Buat middleware
isAdmin
untuk membatasi akses halaman admin.
-
Buat route group dengan prefix
/admin
dan middleware
isAdmin
.
-
Buat controller
AdminController
untuk menampilkan dashboard dan daftar pesanan.
-
Buat view dashboard admin dengan statistik produk, pesanan, dan user.
-
Buat halaman manajemen pesanan dengan fitur update status pesanan (diproses, dikirim, selesai).
10. Deploy Aplikasi Laravel 8 Ecommerce
Setelah aplikasi selesai, saatnya deploy ke server production agar bisa diakses publik.
Langkah deploy aplikasi Laravel 8:
-
Siapkan server VPS dengan LAMP/LEMP stack atau gunakan layanan hosting yang support Laravel.
-
Upload source code ke server menggunakan Git atau FTP.
-
Jalankan
composer install --optimize-autoloader --no-dev
di server.
-
Set konfigurasi environment
.env
di server dengan database dan setting production.
-
Jalankan migrasi dan seed data jika perlu:
php artisan migrate --force
-
Set permission folder
storage
dan
bootstrap/cache
agar web server bisa menulis.
-
Gunakan
php artisan config:cache
dan
php artisan route:cache
untuk optimasi.
-
Setup web server (Apache/Nginx) untuk arahkan ke folder
public/
.
11. Sumber Belajar dan Source Code
Berikut beberapa sumber belajar dan repository source code untuk memperdalam dan mempercepat pembangunan ecommerce Laravel 8: