Tahap 5: Implementasi File Manager Pribadi
Pada tahap ini, kita akan membuat fungsionalitas untuk mengelola file dan gambar yang dimiliki setiap pengguna.
5.1. File Manager Controller
Kita akan membuat controller untuk menangani logika upload, melihat, dan menghapus file.
FileManagerController
14 Jul, 17.56
Buka https://g.co/gemini/share/270201768994
https://gist.github.com/hidjrahs/067e0f709b9088dd56180ceeb7f05393
Bash
php artisan make:controller FileManagerController
5.2. Rute File Manager
Tambahkan rute ini di routes/web.php di dalam grup middleware auth:
Rute File Manager (routes/web.php)
14 Jul, 17.56
Buka https://g.co/gemini/share/607887155ffd
https://gist.github.com/hidjrahs/eadc5ac522ad3baa693d91155569236a
5.3. Tampilan File Manager
Buat direktori resources/views/file_manager/ dan di dalamnya buat file index.blade.php.
File Manager View (file_manager/index.blade.php)
14 Jul, 17.56
Buka https://g.co/gemini/share/95e2b053c72e
File Manager View (file_manager/index.blade.php)
14 Jul, 17.56
Buka https://g.co/gemini/share/95e2b053c72e
Penting:
- Untuk menampilkan gambar dari storage/app/public, Anda perlu membuat symlink dari public/storage ke storage/app/public. Jalankan perintah ini di terminal:
Bash
php artisan storage:link - Pastikan APP_URL di .env Anda sudah benar (misal: http://localhost).
5.4. Integrasi File Manager dengan Profil User & Logo Toko Vendor
Sekarang kita akan memodifikasi form profil user dan form pengaturan toko vendor agar bisa memilih avatar atau logo dari file manager.
5.4.1. Modifikasi Profil User (Avatar)
Kita akan memodifikasi resources/views/profile/partials/update-profile-information-form.blade.php.
Integrasi Avatar dengan File Manager (update-profile-information-form.blade.php)
14 Jul, 17.56
Buka https://g.co/gemini/share/35f1d85df8b3
Catatan Penting untuk Integrasi Modal File Manager:
- Anda perlu menambahkan id=”fileManagerContent” ke div tempat konten file manager akan dimuat.
- Konten file_manager.index yang dimuat via AJAX harus disesuaikan agar hanya menampilkan daftar file tanpa layout x-app-layout penuh. Anda bisa membuat partial view khusus untuk ini.
- Solusi: Buat file resources/views/file_manager/_files_list.blade.php yang berisi hanya bagian daftar file dari file_manager/index.blade.php. Kemudian di FileManagerController@index, jika permintaan adalah AJAX, kembalikan partial view tersebut.
Modifikasi FileManagerController@index untuk AJAX:
Modifikasi FileManagerController@index untuk AJAX
14 Jul, 17.56
Buka https://g.co/gemini/share/774dc658f4d0
Buat resources/views/file_manager/_files_list.blade.php:
File Manager Partial View (_files_list.blade.php)
14 Jul, 17.56
Buka https://g.co/gemini/share/9eee53e8fb5f
5.4.2. Modifikasi Pengaturan Toko Vendor (Logo Toko)
Anda perlu membuat controller dan view untuk pengaturan vendor terlebih dahulu.
VendorSettingsController
14 Jul, 17.56
Buka https://g.co/gemini/share/243e195eb241
Bash
php artisan make:controller Vendor/VendorSettingsController
Tambahkan rute ini di routes/web.php di dalam grup vendor middleware:
Rute Pengaturan Vendor (routes/web.php)
14 Jul, 17.56
Buka https://g.co/gemini/share/cb590a618c97
Buat file resources/views/vendor/settings/edit.blade.php:
Vendor Settings View (vendor/settings/edit.blade.php)
14 Jul, 17.56
Buka https://g.co/gemini/share/e7cef5feb63d
Tahap 6: Manajemen Lokasi (Desa/Dusun)
Pada tahap ini, kita akan mengisi data lokasi spesifik dan membuat admin panel untuk mengelolanya.
6.1. Seeder untuk villages dan dusuns
Kita akan membuat seeder untuk mengisi data awal Desa Bukit Lembah Subur dan beberapa dusun dummy.
LocationSeeder
14 Jul, 17.56
Buka https://g.co/gemini/share/42549101e6d5
Bash
php artisan make:seeder LocationSeeder
Jalankan seeder dari DatabaseSeeder.php:
0
Setelah itu, jalankan seeder:
Bash
php artisan db:seed
6.2. Admin Panel untuk Dusun Management
- Controller Dusun Admin:
Bash
php artisan make:controller Admin/DusunController
https://g.co/gemini/share/b35c17d26538
1
- Rute Dusun Admin:
Tambahkan rute ini di routes/web.php di dalam grup admin middleware:
2 https://g.co/gemini/share/b5babd54049b
- Tampilan Daftar Dusun Admin:
Buat file resources/views/admin/dusuns/index.blade.php:
3 https://g.co/gemini/share/59d2ec0f86c3
- Tampilan Tambah/Edit Dusun Admin:
Buat file resources/views/admin/dusuns/create.blade.php dan resources/views/admin/dusuns/edit.blade.php.
4 https://g.co/gemini/share/30e207f2248b
5 https://g.co/gemini/share/09fdad5fc617
Tahap 7: Manajemen Alamat Pengguna
Kita akan memodifikasi form alamat pengguna agar menggunakan dropdown untuk Dusun.
7.1. Controller Alamat Pengguna
Bash
php artisan make:controller UserAddressController
https://g.co/gemini/share/52294a3fad4d
6
- Rute Alamat Pengguna:
Tambahkan rute ini di routes/web.php di dalam grup middleware auth:
7 https://g.co/gemini/share/9a577694206e
- Tampilan Daftar Alamat Pengguna:
Buat file resources/views/addresses/index.blade.php:
8 https://g.co/gemini/share/43d835077c0a
- Tampilan Tambah/Edit Alamat Pengguna:
Buat file resources/views/addresses/create.blade.php dan resources/views/addresses/edit.blade.php.
9 https://g.co/gemini/share/0e52a041c70b https://g.co/gemini/share/ccc449106e2a
0
Ringkasan Tahap Pengembangan Saat Ini:
Anda telah menyelesaikan langkah-langkah penting ini:
- Inisialisasi Proyek Laravel dengan Bootstrap dan jQuery.
- Semua Migrasi Database telah dibuat dan siap dijalankan.
- Semua Model Eloquent telah dibuat dengan relasi yang benar.
- Sistem Autentikasi dengan peran dan Login Socialite telah diatur.
- Admin Panel dasar untuk manajemen pengguna (aktif/nonaktif) telah dibuat.
- File Manager pribadi untuk setiap pengguna telah diimplementasikan, termasuk upload, view, delete, dan integrasi modal AJAX.
- Integrasi File Manager untuk avatar profil user dan logo toko vendor.
- Seeder Lokasi untuk Desa Bukit Lembah Subur dan dusun-dusunnya.
- Admin Panel untuk manajemen Dusun.
- Manajemen Alamat Pengguna dengan dropdown Dusun yang terhubung ke data lokasi.
Langkah Selanjutnya yang Perlu Anda Lakukan:
- Pastikan semua file migration sudah ada di folder database/migrations/ (dengan nama file yang benar dan timestamp yang berurutan).
- Jalankan php artisan migrate untuk membuat semua tabel.
- Jalankan php artisan db:seed untuk mengisi data lokasi awal.
- Buat file Enum yang direferensikan oleh model Anda di app/Enums/.
- Uji coba:
- Daftar sebagai user baru.
- Login dan coba fitur File Manager Anda.
- Coba ubah avatar profil Anda menggunakan File Manager.
- Tambahkan alamat baru dan pastikan dropdown Dusun berfungsi.
- Secara manual ubah peran user menjadi admin di database (atau buat seeder admin user) dan jelajahi panel admin untuk manajemen user dan dusun.
Apakah ada pertanyaan atau bagian yang ingin Anda perjelas sebelum kita melanjutkan ke tahap selanjutnya (misalnya, manajemen produk oleh vendor)?
