Laravel untuk Aplikasi Bisnis

Bab 2 dari 14 · 2 menit baca

Masuk

Bab 02 · Persiapan

Menyiapkan Project dan Struktur Folder

Dimas Prasetyo · 2 menit baca Bab gratis

Di bab ini kita membuat project Laravel baru dan merapikan struktur folder sebelum menulis fitur pertama. Sepuluh menit di sini menghemat banyak waktu di bab-bab berikutnya.

Membuat project

Buka terminal di folder kerja Anda, lalu jalankan:

composer create-project laravel/laravel kasir
cd kasir
php artisan serve

Buka http://127.0.0.1:8000. Jika halaman sambutan Laravel muncul, instalasi berhasil.

Menyiapkan bahasa dan zona waktu

Aplikasi kasir dipakai di Indonesia, jadi tanggal dan pesan validasi sebaiknya berbahasa Indonesia. Ubah .env:

APP_LOCALE=id
APP_TIMEZONE=Asia/Jakarta

Zona waktu penting untuk laporan harian. Tanpa pengaturan ini, transaksi pukul 23.30 WIB bisa tercatat sebagai hari berikutnya karena server memakai UTC.

Folder untuk logika bisnis

Laravel tidak memaksa satu struktur. Untuk aplikasi bisnis, kita menambah satu folder:

app/
├── Livewire/      komponen layar (kasir, daftar barang)
├── Models/        model Eloquent
└── Services/      logika bisnis: penjualan, stok, laporan

Aturannya sederhana: komponen Livewire hanya mengurus layar, sedangkan perhitungan uang dan stok ada di app/Services. Dengan begitu logika yang sama bisa dipanggil dari layar kasir, dari test, maupun dari perintah artisan.

namespace App\Services;

class SaleService
{
    public function checkout(array $cart, int $paid): Sale
    {
        // Diisi di bab "Menyimpan Penjualan dalam Satu Transaksi Database".
    }
}

Helper format Rupiah

Kita akan sering menampilkan uang. Buat app/helpers.php:

function rupiah(int $amount): string
{
    return 'Rp '.number_format($amount, 0, ',', '.');
}

Daftarkan di composer.json bagian autoload.files, lalu jalankan composer dump-autoload.

Ringkasan

  • Project Laravel baru dengan SQLite sudah berjalan.
  • Bahasa dan zona waktu sudah diatur untuk Indonesia.
  • Folder app/Services disiapkan untuk logika bisnis.
  • Helper rupiah() siap dipakai di semua tampilan.

Masuk untuk menyimpan progres baca

Tanpa akun, Anda tetap bisa membaca bab gratis, tetapi progres tidak tersimpan.

Masuk atau daftar