Warkom adalah sebuah aplikasi e-commerce toko komputer berbasis web yang dibangun menggunakan framework Laravel. Aplikasi ini menyediakan fitur bagi pengguna (user) untuk melihat produk, melakukan pemesanan, memberikan komentar (review), dan admin untuk mengelola data produk.
Pastikan sistem Anda telah memenuhi persyaratan berikut sebelum menjalankan aplikasi:
- PHP >= 8.1
- Composer
- Node.js & NPM
- MySQL / MariaDB
- Git
Ikuti langkah-langkah di bawah ini untuk mengatur dan menjalankan aplikasi Warkom di mesin lokal Anda:
Buka terminal atau command prompt Anda, lalu jalankan perintah berikut untuk mendownload kode (clone):
git clone (https://github.com/nabathnm/warkom)
cd warkom(Catatan: Ganti <url-repository-anda> dengan URL dari repository Git Anda jika sudah diunggah).
Instal semua paket PHP yang dibutuhkan oleh Laravel menggunakan composer:
composer installInstal library frontend dan jalankan kompilasi asset (menggunakan Vite):
npm install
npm run buildBuat file konfigurasi environment dengan cara menyalin dari file contoh yang sudah ada:
cp .env.example .env(Jika Anda menggunakan Command Prompt Windows biasa, gunakan: copy .env.example .env)
Buka file .env menggunakan teks editor Anda dan atur konfigurasi database. Pastikan Anda telah membuat database kosong di MySQL Anda (misalnya dengan nama warkom_db):
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=warkom_db
DB_USERNAME=root
DB_PASSWORD=(Sesuaikan DB_DATABASE, DB_USERNAME, dan DB_PASSWORD dengan pengaturan MySQL Anda)
Jalankan perintah ini untuk membuat kunci keamanan aplikasi (APP_KEY):
php artisan key:generateJalankan perintah migrasi untuk membuat tabel di database, sekaligus mengisi data awal (dummy products, users, admin, dan reviews) ke dalam database menggunakan seeder:
php artisan migrate:fresh --seedTerakhir, jalankan development server bawaan Laravel:
php artisan serveAplikasi sekarang dapat diakses melalui browser kesayangan Anda pada alamat: http://localhost:8000 atau http://127.0.0.1:8000
Setelah Anda menjalankan perintah seeding di langkah nomor 6, sistem otomatis membuatkan akun demo berikut yang bisa Anda gunakan untuk login:
- Email:
admin1@gmail.com - Password:
123456 - Role: Mengelola produk
- Email:
andi@gmail.com - Password:
123456 - Role: Melihat produk, belanja, dan memberikan review/komentar.
Aplikasi Warkom memiliki serangkaian pengujian otomatis untuk menjamin kualitas perangkat lunak. Pengujian ini terbagi menjadi dua, yaitu Whitebox Testing (menguji logika internal) dan Blackbox Testing (menguji fungsionalitas UI/alur pengguna).
Jika Anda menjalankan proyek ini di laptop baru (setelah melakukan clone), Anda harus mempersiapkan lingkungan Laravel Dusk terlebih dahulu:
-
Install ChromeDriver: Jalankan perintah berikut agar Dusk dapat mengontrol browser Chrome saat pengujian:
php artisan dusk:chrome-driver
-
Siapkan Environment Dusk: Buat salinan file environment khusus untuk Dusk agar pengujian tidak menghapus data utama Anda:
cp .env .env.dusk.local
Buka file
.env.dusk.local, lalu ubah pengaturan URL dan database menjadi SQLite:APP_URL=http://127.0.0.1:8000 DB_CONNECTION=sqlite DB_DATABASE=database/dusk.sqlite
-
Buat File Database Kosong: Buat file database SQLite baru untuk digunakan oleh Dusk:
touch database/dusk.sqlite
(Untuk pengguna Windows Command Prompt, gunakan perintah:
type nul > database\dusk.sqlite)
Pengujian ini memverifikasi fungsionalitas logika di level aplikasi, seperti controller, model, dan interaksi dengan database.
Untuk menjalankan Whitebox Testing, jalankan perintah berikut di terminal:
php artisan testPerintah ini akan menjalankan seluruh Feature Test dan Unit Test yang ada di dalam direktori tests/Feature dan tests/Unit.
Pengujian ini dilakukan secara End-to-End (E2E) yang mensimulasikan interaksi nyata pengguna pada browser (seperti klik tombol, mengisi form, dan navigasi).
Untuk menjalankan Blackbox Testing, Anda memerlukan dua terminal:
Langkah 1 (Terminal 1 - Menjalankan Server Testing):
Laravel Dusk membutuhkan web server yang aktif. Karena pengujian akan me-reset database, sangat disarankan menggunakan environment khusus (dusk.local) agar tidak menghapus data pengembangan Anda.
php artisan serve --env=dusk.localLangkah 2 (Terminal 2 - Menjalankan Pengujian Dusk): Setelah server berjalan, buka tab/terminal baru dan jalankan:
php artisan duskPerintah ini akan membuka browser headless secara otomatis dan memvalidasi elemen antarmuka pengguna sesuai dengan skenario test suite yang berada di direktori tests/Browser. Hasil tangkapan layar (screenshot) untuk pengujian yang gagal akan disimpan otomatis di direktori tests/Browser/screenshots/.