- Clone repo
- Jalankan composer install
- Copy .env.example ke .env
- Set nama database dengan user dan password yang benar di .env
- php artisan key:generate
- php artisan migrate
Hal yang harus diperhatikan dalam kodingan, untuk mempermudah pembacaan.
- Class: PascalCase
- Function: camelCase
- Variable: snake_case
- diroute jangan ada return langsung passing ke controller dulu
- pakai use jangan akses langsung pada direktorinya
- Buat branch tiap fitur yang dikerjakan, jangan kerjakan fitur di branch master
Ada sedikit perbedaan nama tabel/attribut, akan yang diikuti yang ada pada migration.
Lihat Model dan Controller
Lihat Routingan
Google
-
Modul
CRUD Modul
Menggunakan wysiwyg (Work-in-progress: Ganen) -
Komunitas
CRUD Komunitas (Work-in-progress: Ganen)CRUD Pengumuman -
User
-
User biasa
Bisa pilih komunitas
Bisa daftar -
Admin komunitas
Bisa menerima request masuk komunitas -
Tekno
Bisa assign admin
-
-
/
Homepage. Berisi login dan register saja.
-
/login
Halaman login
-
/register
Halaman register
-
/dashboard
Berisi list semua komunitas.
-
/komunitas/{kmt_id}
Berisi list modul yang tersedia dalam komunitas tersebut.
-
/komunitas/{kmt_id}/{md_id}
Berisi satu modul.
-
-
/admin
Dashboard untuk admin (web dan komunitas). Berisi
-
View admin web: CRUD user dan komunitas
-
View admin komunitas: list komunitas yang ditangani
-
/admin/{kmt_id}
CRUD komunitas terkait (modul dan member komunitas).
-
-
Implementasi role dan ability menggunakan Bouncer.
Role yang tersedia:
'admin'
: Admin. Mengatur seluruh web.'admin-komunitas'
: Admin komunitas. Mengatur keseluruhan dari sebuah komunitas.'user'
: User biasa.
Untuk mengecek apakah sebuah user memiliki ability di bawah, gunakan $user->can('nama-ability')
.
Ability yang tersedia:
'crud-users'
: Membuat, mengedit, dan menghapus user. Dimiliki oleh role:'admin'
.'crud-admins'
: Menambahkan atau menghapus role'admin'
dari sebuah user. Dimiliki oleh role:'admin'
.'crud-admin-komunitas'
: Mengangkat atau menurunkan admin komunitas. Dimiliki oleh role:'admin'
.'crud-komunitas'
: Membuat, mengedit, menghapus komunitas. Dimiliki oleh role:'admin'
.'crud-modul'
: Membuat, mengedit, menghapus modul dari sebuah komunitas. Dimiliki oleh'admin-komunitas'
pada model$komunitas
tertentu.'crud-member'
: Bisa menambahkan, menghapus member dari komunitas. Dimiliki oleh'admin-komunitas'
pada model$komunitas
tertentu.
Untuk mengecek role:
$user->isA('nama-role'); //return boolean
Untuk mengecek ability:
$user->can('nama-ability'); //return boolean
$user->can('nama-ability', $model); //return boolean
Untuk assign role:
$user->assign('nama-role');
Untuk assign ability:
$user->allow('nama-ability');
$user->allow('nama-ability', $model);
Catatan: Pastikan assign ability ke user sesuai dengan role. Take over by Ganen for now.