Day 11 — Setup Project & Perancangan ERD
Fase: 2 — Mini Project Asset Management | Minggu: 3 | Hari: Senin
🎯 Tujuan Hari Ini
Tim memulai Mini Project Asset Management System dengan merancang ERD (Entity Relationship Diagram), setup repository baru, dan membuat migrasi tabel categories dan assets.
📋 Task Wajib
1. Kickoff Meeting Tim (09:00 – 09:45)
Seluruh tim berkumpul untuk kickoff project. Bahas:
- Nama aplikasi: "SIMAS" (Sistem Manajemen Aset Sederhana)
- Siapa mengerjakan apa (sesuai role masing-masing)
- Target fitur per hari
Timeline Mini Project:
| Day | Target |
|---|---|
| 11 | ERD + Setup + Migration |
| 12 | CRUD Category |
| 13 | CRUD Asset |
| 14 | Relasi Category ↔ Asset |
| 15 | Styling & Code Review |
| 16 | Modul Peminjaman |
| 17 | Pengembalian & Stock Update |
| 18 | Dashboard Analytics |
| 19 | Bug Fixing & QA |
| 20 | Final Demo |
2. Rancang ERD
Gambar diagram Entity Relationship berikut di kertas terlebih dahulu, baru presentasikan ke mentor:
┌─────────────────────┐ ┌──────────────────────────────┐
│ categories │ │ assets │
├─────────────────────┤ ├──────────────────────────────┤
│ id (PK) │◄──────┐ │ id (PK) │
│ name │ └─┤ category_id (FK) │
│ description │ │ name │
│ created_at │ │ code (kode unik aset) │
│ updated_at │ │ description │
└─────────────────────┘ │ stock (jumlah tersedia) │
│ condition (baik/rusak) │
│ created_at │
│ updated_at │
└──────────────────────────────┘
│
│ 1 asset bisa dipinjam banyak
▼
┌──────────────────────────────┐
│ loans │
├──────────────────────────────┤
│ id (PK) │
│ asset_id (FK) │
│ borrower_name │
│ borrow_date │
│ return_date │
│ quantity │
│ status (pending/returned) │
│ notes │
│ created_at │
│ updated_at │
└──────────────────────────────┘Relasi:
categorieshasManyassets(1 kategori punya banyak aset)assetsbelongsTocategories(1 aset punya 1 kategori)assetshasManyloans(1 aset bisa dipinjam berkali-kali)loansbelongsToassets(1 pinjaman untuk 1 aset)
3. Setup Repository Baru di GitHub
PM/Lead membuat repository baru bernama simas-asset-management di GitHub.
Di laptop masing-masing, buat project Laravel baru:
composer create-project laravel/laravel simas
cd simas
git init
git remote add origin https://github.com/[username]/simas-asset-management.gitSetup .env masing-masing untuk database baru:
DB_DATABASE=simas_db
APP_NAME="SIMAS - Sistem Manajemen Aset"Buat database simas_db di phpMyAdmin.
4. Buat Migration: Categories
Backend Dev mengerjakan ini:
php artisan make:migration create_categories_tableIsi method up():
public function up(): void
{
Schema::create('categories', function (Blueprint $table) {
$table->id();
$table->string('name', 100)->unique();
$table->text('description')->nullable();
$table->timestamps();
});
}5. Buat Migration: Assets
php artisan make:migration create_assets_tableIsi method up():
public function up(): void
{
Schema::create('assets', function (Blueprint $table) {
$table->id();
$table->foreignId('category_id')->constrained('categories')->onDelete('restrict');
$table->string('name', 150);
$table->string('code', 50)->unique()->comment('Kode unik aset, contoh: LAP-001');
$table->text('description')->nullable();
$table->unsignedInteger('stock')->default(0);
$table->enum('condition', ['baik', 'rusak', 'perbaikan'])->default('baik');
$table->timestamps();
});
}6. Jalankan Migration
php artisan migrateCek phpMyAdmin: kedua tabel harus muncul dengan relasi yang benar.
7. Buat Seeder untuk Data Dummy
php artisan make:seeder CategorySeederIsi database/seeders/CategorySeeder.php:
use App\Models\Category;
public function run(): void
{
$categories = [
['name' => 'Elektronik', 'description' => 'Perangkat elektronik seperti laptop, proyektor, dll'],
['name' => 'Furniture', 'description' => 'Meja, kursi, lemari, dan furniture kantor lainnya'],
['name' => 'Alat Tulis', 'description' => 'Pena, kertas, spidol, dan perlengkapan kantor'],
['name' => 'Kendaraan', 'description' => 'Kendaraan operasional kantor'],
];
foreach ($categories as $cat) {
Category::create($cat);
}
}Jalankan:
php artisan db:seed --class=CategorySeeder📝 Laporan ke Mentor
📌 LAPORAN HARIAN — Day 11
Nama : [Nama Lengkap]
Role : [Role Kamu]
✅ Yang saya kerjakan hari ini:
- [ ] Mengikuti kickoff meeting dan memahami roadmap project
- [ ] Menggambar ERD di kertas dan didiskusikan dengan tim
- [ ] Setup repository GitHub baru (simas-asset-management)
- [ ] Migration tabel categories berhasil
- [ ] Migration tabel assets berhasil
- [ ] Seeder CategorySeeder berhasil mengisi data dummy
📸 Screenshot Wajib:
1. Foto/scan ERD yang dibuat di kertas
2. phpMyAdmin menampilkan tabel categories dan assets dengan relasi FK
3. Isi tabel categories setelah seeder dijalankan
💬 Catatan dari Kickoff Meeting:
[Tulis kesepakatan tim: siapa ngerjain apa hari ini dan besok]
❓ Kendala:
[Tulis jika ada]Catatan Mentor
Pastikan ERD sudah direview dan disetujui mentor sebelum peserta mulai coding. Salah desain di awal akan berdampak besar di hari-hari selanjutnya.
Perhatikan kolom code di tabel assets: ini adalah kode unik seperti "LAP-001" untuk Laptop pertama. Peserta perlu memahami mengapa unique() penting di sini.