# The 36th Chamber of Laravel
###### tags: `kuliah`
> Dari list yang gua bikin ini, kalian tinggal ngikutin masing-masing tahap mulai dari clone repository sampe bikin custom migration. Untuk command-command artisan juga gua lampirin dibawahnya. Santai aja, gosah buru-buru 👍
## 🚀 Quick Install
### Step 1: Clone github repository
`$ git clone https://github.com/xerod/boilerplate-pw.git [nama projectnya]`
:::info
:bulb: **Hint:** Nama projectnya bebas, tapi kalo ada perintah yang nyuruh ganti nama project gapapa diganti aja
:::
### Step 2: Setup Laravel
Pastiin dengan baik langkah-langkah di step ini. ==Lakukan secara berurutan, niscaya tidak akan tampak tanda-tanda error==.
1. **Bikin Database di sequelpro**


2. **Setup environment (.env)**
Copy .env.example bisa dengan cara ketik `cp .env.example .env` di terminal dan jangan lupa juga edit konfigurasi DB nya menyesuaikan dengan konfigurasi yang lu punya.
```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=[isi nama databasenya]
DB_USERNAME=root
DB_PASSWORD=[inget-inget ada passwordnya ]
```
3. **Generate Application Key**
Ketik di terminal `php artisan key:generate` sama jangan lupa cek udah berubah atau belum .env nya
4. **Create Valet Symlink**
Bikin symlink di valet dengan cara `valet link` di direktori project. Buat ngecek nya bisa pake `valet links` dan coba akses websitenya

> Ada dua tombol refresh di sequelpro, satu buat refresh tabel, satunya buat refresh kolom
>
---
## 🎉 BONUS: MVC step, command, and more
:::danger
❗ **DISCLAIMER:** Kalo bingung cara baca fungsi search yang gua bikin, lu bisa bikin fungsi search lu sendiri dengan ngikutin step-step [disini](https://www.malasngoding.com/membuat-pencarian-pada-laravel/).
:::
| Command | Purpose |
| ----------------- |:------------------- |
| `php artisan route:list`| Nge-list route |
| `php artisan make:model [nama] -m`| Bikin Model&Migration |
| `php artisan make:controller [nama] --resource`| Bikin Controller |
| `php artisan config:clear`| Kalo mentok error mulu gatau kenapa, silahkan dicoba siapatau membantu |
| `php artisan migrate`| Migrate biasa |
| `php artisan migrate:fresh`| Pake ini kalo lu udah pernah migrate, tapi mau ngosongin tabelnya |
| `php artisan migrate:status`| Buat liat udah berapa kali perubahan migrasi yang lu lakuin |
### Checklist 1: Model and Migration
> Ada baiknya lu bikin model sama migration sendiri dan gak ngedit dari , command nya bisa ngikutin command yang ada di tabel diatas
- [ ] Penamaan model harus singular (gampangnya gapake akhiran 's'. misalnya product, category, dsb)
- [ ] Type data nya udah sesuai, kalo bingung bisa baca [disini](https://laravel.com/docs/5.8/migrations#columns)
- [ ] Cek status (commandnya di tabel)
:::info
:bulb: **Hint:** Kalo pas ngecek sequelpro gaada perubahan coba di refresh dulu 🔁 tombol refresh ada di bagian paling bawah.

:::
### Checklist 2: Controller and Routing
>Penamaan yang bagus itu yang konsisten
- [ ] Penamaan controller mengikuti: *ProductController* atau *UserController*
- [ ] Menginput routing dari controller dengan format` Route::resource('[terserah nenek moyang lu]', 'SofaController');`
### Checklist 3: View
- [ ] Ganti semua yang ada di atribut `name` pake COMMAND + SHIFT + F. Sesuain name dengan kolom pada database.
- [ ] Udah yak gua capek segitu dulu