menu

Laravel - Starter kit laravel project


Pada artikel kali ini codedoct akan memberikan dokumentasi dari project laravel yang baru saja codedoct buat yaitu sebuah project starter kit bagi anda yang ingin membuat project backend (API) laravel dengan mudah.

Clone project disini, instalasi bisa baca langsung pada readme. Bagi yg belum familiar dengan bagaimana cara clone project bisa baca disini.

Oke sekarang codedoct akan jelaskan apa saja featurenya dan cara menggunakannya.

1. Auth with RBAC (Role Base Access Controll)

Project laravel starter kit tersebut sudah support RBAC yaitu access api route dengan role sebagai dasar hak akses, misal api route get users hanya bisa di akses oleh superadmin,
Route::get('', 'UserController@getUsers')->middleware('auth.privilage:qwe123');
Jika ingin menambah multiple akses maka code akan menjadi seperti ini,
Route::get('', 'UserController@getUsers')->middleware('auth.privilage:qwe123|zxc123');
pada project sudah terdapat 2 role superadmin dengan hash_id "qwe123" dan user dengan hash_id "zxc123", anda bisa menambah sendiri user role lainnya pada table role. Sehingga anda jika kita mengakses api yang dengan role yang tidak di setujui maka akan keluar error handling,


2. Error handling

Project ini sudah mendukung berbagai error handling yang dapat di lihat pada /app/Exceptions/Handler.php

3. Doctrine migration

Untuk memudahkan dalam manajemen table maka digunakan doctrine yang di padukan dengan eloquent laravel.

4. Support payment with midtrans

Project ini sudah didukung untuk pembayaran payment gateway dengan midtrans, dimana dari client apps (ios atau android) dapat mengakses api "charge" untuk generate token yang kemudian digunakan untuk mengakses midtrans payment.


5. Support notification with Firebase

Project ini sudah mendukung push notification menggunakan firebase ke semua client dengan cara daftarkan dulu device token setiap client menggunakan api,


kemudian anda bisa push notification ke semua user atau ke user tertentu yang sudah didaftarkan device tokennya,


6. Storage file with Server or S3(AWS)

Project ini sudah mendukung penyimpanan server  atau s3 yang dapat anda atur pada file .env dengan syntax yang sangat sederhana karena sudah di handle pada ImageServices.php
if ($request->file('image')) {
  // upload image
  $uploadImage = $imageService->uploadImage($request->file('image'), 'profile', $user, 800);

  $user->image = $uploadImage;
}

7. Indonesian geograph

Sudah terdapat 3 api yang dapat memudahkan anda mendapatkan data provinsi, kota, dan kecamatan.

8. Can access API with login or public

Anda dapat mengatur API mana saja yang bisa di akses secara public, wajib, login atau keduanya. dimana anda hanya tinggal menambahkan apinya pada routes general yang ada pada file /routes/General/general.php. Akses public ini sudah di handle pada file /app/Http/Middleware/AuthenticateUserSession.php

Semua api pada postmant bisa di download disini dan tinggal di import saja pada postman anda.

===DONE!===