Open Gilangs1 opened 1 week ago
mas ini udah di benarkan mvvm nya kemaren kliru. tolong di cek ulang sama nilainya @myaasiinh
harap lgsg fokus ke tubes 1 uts ya, hrp teman - teman disampaikan, karena saya selama 1 minggu ini hingga kedepan lg fokus bikin modul praktikum
Pada Sen, 28 Okt 2024 pukul 11.31 Gilangs1 @.***> menulis:
mas ini udah di benarkan mvvm nya kemaren kliru. tolong di cek ulang sama nilainya @myaasiinh https://github.com/myaasiinh
— Reply to this email directly, view it on GitHub https://github.com/myaasiinh/Mobile-Programming-2024-2025/issues/57#issuecomment-2440528719, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM6BJ5677WBLJCXNFAVPHNLZ5W4YNAVCNFSM6AAAAABP7PWK7SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBQGUZDQNZRHE . You are receiving this because you were mentioned.Message ID: @.***>
https://dribbble.com/shots/23122226-Mobile-App-Agriculture
Struktur MVVM untuk Mobile App Agriculture
farming_weather_app/ │ ├── models/ │ ├── weather.dart
│ ├── demand.dart
│ ├── community_post.dart
│ ├── commodity.dart
│ └── user.dart
│ ├── viewmodels/ │ ├── weather_viewmodel.dart
│ ├── demand_viewmodel.dart
│ ├── community_viewmodel.dart
│ └── commodity_viewmodel.dart
│ ├── views/ │ ├── home_page.dart
│ ├── weather_page.dart
│ ├── demand_page.dart
│ ├── community_page.dart
│ └── profile_page.dart
│ ├── services/ │ ├── weather_service.dart
│ ├── demand_service.dart
│ ├── community_service.dart
│ └── commodity_service.dart
│ ├── resources/ │ ├── images/ │ │ ├── weather_icons/
│ │ ├── user_profile_placeholder.png │ └── icons/ │ ├── weather_icon.png │ └── community_icon.png │ ├── helpers/ │ ├── navigation_helper.dart
│ └── format_helper.dart
│ ├── app.dart
└── pubspec.yaml
weather.dart:
Menyimpan struktur data cuaca yang diperoleh dari API, seperti location (lokasi), temperature (suhu), humidity (kelembapan), dan condition (kondisi cuaca seperti berawan atau cerah). Model ini mengimplementasikan fungsi fromJson() untuk mempermudah konversi dari data JSON ke objek Weather. demand.dart:
Menyimpan data permintaan pembeli harian, seperti jumlah permintaan produk pertanian. Berfungsi untuk menampilkan data di bagian permintaan pembeli pada UI. community_post.dart:
Menyimpan struktur data untuk postingan komunitas, seperti author, content, timestamp, dan jumlah like atau komentar. Digunakan untuk menampilkan konten diskusi di komunitas. commodity.dart:
Menyimpan informasi tentang komoditas pertanian (misalnya, ayam, beras, jagung), termasuk nama, harga, dan jumlah ketersediaan. Berguna untuk menampilkan data produk pertanian. user.dart:
Menyimpan informasi pengguna seperti nama, ID, dan gambar profil. Digunakan untuk mengelola data pengguna di dalam aplikasi.
Berisi metode fetchWeather() yang mengambil data cuaca dari API eksternal berdasarkan lokasi. File ini menggunakan package http untuk mengirim permintaan ke API cuaca, mendekode respon JSON, dan mengembalikan objek Weather. demand_service.dart:
Berfungsi mengambil data permintaan pembeli dari API atau basis data lain. Misalnya, menyediakan fungsi fetchDemand() yang mengembalikan data permintaan harian untuk produk tertentu. community_service.dart:
Berisi logika untuk mengambil dan mengirimkan data postingan komunitas. Menyediakan metode untuk mengirim komentar baru, mendapatkan daftar postingan, atau meng-like postingan. commodity_service.dart:
Bertugas mengambil informasi mengenai produk pertanian dari API. Misalnya, menyediakan fungsi untuk mendapatkan harga terbaru dan jumlah ketersediaan dari berbagai komoditas.
weather_viewmodel.dart:
Mengelola status data cuaca. Mengambil data dari WeatherService dan menyimpannya dalam variabel _weather. Mengelola status loading untuk menampilkan loading indicator selama proses pengambilan data. Memanggil notifyListeners() untuk memperbarui tampilan jika ada perubahan data cuaca. demand_viewmodel.dart:
Mengelola data permintaan pembeli, seperti mengakses jumlah produk yang diminta. Bisa mengakses DemandService untuk mengambil atau memperbarui data permintaan, dan menampilkan data yang diperbarui ke tampilan UI. community_viewmodel.dart:
Mengelola logika untuk postingan di komunitas, termasuk fungsi untuk menambah, menghapus, atau memperbarui postingan. Menggunakan CommunityService untuk mengambil dan mengirimkan data komunitas. commodity_viewmodel.dart:
Mengelola data komoditas, seperti harga dan ketersediaan. Memungkinkan tampilan UI untuk mendapatkan data komoditas dari CommodityService.
home_page.dart:
Halaman utama aplikasi yang mungkin menampilkan ringkasan cuaca, data permintaan harian, dan daftar komoditas. Menggunakan ViewModels seperti WeatherViewModel dan DemandViewModel untuk mendapatkan data dan memperbarui tampilan sesuai status aplikasi. weather_page.dart:
Halaman yang menampilkan detail cuaca, termasuk informasi lengkap tentang suhu, kelembapan, dan kondisi cuaca untuk beberapa hari ke depan. Mengambil data dari WeatherViewModel dan memperbarui tampilan ketika data berubah. demand_page.dart:
Halaman khusus yang menampilkan detail permintaan pembeli. Menggunakan DemandViewModel untuk mendapatkan data terbaru dan menampilkannya dalam format yang mudah dibaca. community_page.dart:
Halaman komunitas untuk melihat postingan atau berdiskusi dengan anggota komunitas. Mengambil data postingan dari CommunityViewModel dan memungkinkan pengguna untuk berinteraksi dengan postingan, misalnya dengan like atau komentar. profile_page.dart:
Halaman profil pengguna yang menunjukkan informasi akun dan data pribadi pengguna. Mengambil data dari User model dan menampilkan nama, foto profil, dan informasi tambahan lainnya.
navigation_helper.dart:
Menyediakan fungsi untuk navigasi antar halaman. Misalnya, navigateTo() digunakan untuk mempermudah berpindah halaman tanpa harus menulis ulang kode navigasi setiap kali dibutuhkan. format_helper.dart:
Mengandung fungsi untuk memformat data seperti tanggal, waktu, atau suhu. Misalnya, fungsi formatDate() untuk mengubah tanggal dalam format yang lebih mudah dibaca oleh pengguna.
File ini berfungsi sebagai entry point dari aplikasi. Di dalamnya, kita bisa menginisialisasi providers dan mengatur routing aplikasi. Biasanya file ini akan menentukan halaman utama aplikasi, misalnya HomePage, dan menghubungkan semua Provider yang diperlukan. app.dart mungkin juga memuat pengaturan tema aplikasi dan konfigurasi awal lainnya. pubspec.yaml:
File konfigurasi untuk proyek Flutter yang berisi daftar dependencies atau library yang digunakan (misalnya http untuk panggilan API atau provider untuk state management). Menyertakan pengaturan asset seperti gambar, ikon, dan font yang akan digunakan di aplikasi.