myaasiinh / Mobile-Programming-2024-2025

Repository untuk mata kuliah mobile programming dan praktikum bertanya materi dan fixing bug
0 stars 0 forks source link

Ahmad Baihaqi Muslim_32602100010_Tugas 1_Rent Car APP_Reguler #145

Open Hideoo07 opened 2 weeks ago

Hideoo07 commented 2 weeks ago

Screenshot 2024-11-09 070052

lib/ ├── core/ │ ├── config/ │ │ └── main_app.dart │ ├── utils/ │ │ └── route_utils.dart │ └── global_component/ │ ├── string_constants.dart │ ├── image_constants.dart │ └── color_constants.dart ├── features/ │ ├── car_rental/ │ │ ├── models/ │ │ │ ├── car_model.dart │ │ │ ├── user_model.dart │ │ │ └── rental_details_model.dart │ │ ├── view_models/ │ │ │ ├── car_rental_view_model.dart │ │ │ └── rental_detail_view_model.dart │ │ └── views/ │ │ ├── car_rental_screen.dart │ │ └── rental_detail_screen.dart ├── data/ │ ├── repositories/ │ │ ├── car_repository.dart │ │ └── user_repository.dart │ └── sources/ │ ├── car_remote_data_source.dart │ └── car_local_data_source.dart ├── api/ │ └── car_rental_api.dart ├── local_storage/ │ └── shared_preferences_helper.dart └── main.dart main.dart

Fungsi: Sebagai titik masuk utama aplikasi. Algoritma: Fungsi main() dipanggil, yang kemudian memanggil runApp() dengan widget utama, MainApp. MainApp ini menginisialisasi tema aplikasi dan rute utama yang akan dipakai di dalam aplikasi. route_utils.dart

Fungsi: Mengatur routing untuk navigasi antar layar. Algoritma: Fungsi generateRoute didefinisikan untuk menerima parameter RouteSettings. Berdasarkan routeName, fungsi ini mengembalikan widget layar yang sesuai. car_model.dart

Fungsi: Mendefinisikan struktur data untuk objek mobil. Algoritma: Class CarModel dibuat dengan atribut seperti id, name, price, dan brand untuk mewakili data mobil. car_rental_view_model.dart

Fungsi: Menyimpan logika bisnis dan state untuk menampilkan daftar mobil yang tersedia. Algoritma: Implementasi fungsi fetchCars() yang mengambil data dari CarRepository untuk diperbarui ke state. car_repository.dart

Fungsi: Menyediakan data mobil dari API atau sumber data lokal. Algoritma: Fungsi getCars() mengembalikan data mobil dari CarRemoteDataSource atau CarLocalDataSource jika diperlukan. car_rental_screen.dart

Fungsi: Layar utama yang menunjukkan daftar mobil yang tersedia untuk disewa. Algoritma: Menggunakan Consumer untuk mendengarkan perubahan state dari CarRentalViewModel. Data yang didapatkan ditampilkan menggunakan ListView untuk menampilkan daftar mobil. rental_detail_view_model.dart

Fungsi: Mengelola logika bisnis dan state untuk menampilkan detail mobil tertentu yang disewa. Algoritma: Implementasi fungsi fetchRentalDetails() yang mengambil data detail dari CarRepository untuk diperbarui di state.