myaasiinh / Mobile-Programming-2024-2025

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

PRAMUDITYA GANIS SAPUTRA RUN APP - 32602200116- kelas reguler #73

Open pramuditya53 opened 1 month ago

pramuditya53 commented 1 month ago

https://dribbble.com/shots/21922708-RunOn-Run-App](url)

original-5613483544d29c3ae3245e52490fbd05

core/
global_component/
  - Typography.dart
  - ButtonComponent.dart
  - ActivityCardComponent.dart
  - AvatarComponent.dart
  - HeartRateChartComponent.dart
  - TrackingMapComponent.dart
config/
  - main_app.dart
utils/
  - route_utils.dart
constants/
  - string.dart
  - color.dart
  - images.dart

 data/
activity/
  model/
    - ActivityModel.dart
  dummy/
    - DummyActivity.dart
profile/
  model/
    - ProfileModel.dart
  dummy/
    - DummyProfile.dart
heart_rate/
  model/
    - HeartRateModel.dart
  dummy/
    - DummyHeartRate.dart

 features/
activity_tracking/
  screen/
    - RunActivityScreen.dart
  widgets/
    - HeartRateWidget.dart
    - CurrentPaceWidget.dart
    - AveragePaceWidget.dart
    - CaloriesBurnWidget.dart
    - ActivityDetailsWidget.dart
  controller/
    - ActivityController.dart

  activity_history/
  screen/
    - ActivityHistoryScreen.dart
  widgets/
    - ActivityListItemWidget.dart
    - DateFilterWidget.dart
    - TimePeriodFilterWidget.dart
  controller/
    - HistoryController.dart

profile_management/
  screen/
    - ProfileScreen.dart
  widgets/
    - ProfileDetailsWidget.dart
  controller/
    - ProfileController.dart

Berikut adalah penjelasan dari pembagian file aplikasi pelacak aktivitas lari yang telah disusun:

Core Folder ini berisi komponen global dan utilitas yang digunakan di seluruh aplikasi.

  1. global_component/:

    • Typography.dart: Komponen untuk pengaturan teks seperti font, ukuran, dan gaya tipografi di aplikasi.
    • ButtonComponent.dart: Komponen tombol umum yang digunakan di seluruh aplikasi (misalnya tombol "Stop Run").
    • ActivityCardComponent.dart: Komponen untuk menampilkan ringkasan aktivitas lari dalam bentuk kartu.
    • AvatarComponent.dart: Komponen gambar profil yang digunakan untuk menampilkan avatar pengguna.
    • HeartRateChartComponent.dart: Komponen yang menampilkan grafik detak jantung berdasarkan data yang terekam.
    • TrackingMapComponent.dart: Komponen yang menampilkan peta rute lari.
  2. config/:

    • main_app.dart: File ini berisi konfigurasi utama aplikasi seperti setup navigator, pengaturan tema, dan inisialisasi aplikasi.
  3. utils/:

    • route_utils.dart: Utilitas untuk mengatur rute dan navigasi antara screen di aplikasi.
  4. constants/:

    • string.dart: Kumpulan konstanta string yang digunakan di seluruh aplikasi (misalnya teks judul, deskripsi, dll.).
    • color.dart: Definisi warna yang digunakan di aplikasi.
    • images.dart: Lokasi gambar atau ikon yang digunakan di aplikasi.

Data Folder ini berisi model data dan data dummy yang digunakan untuk pengujian.

  1. activity/:

    • ActivityModel.dart: Model yang mendefinisikan struktur data untuk aktivitas lari (seperti jarak, waktu, kalori terbakar, dll.).
    • DummyActivity.dart: Data dummy yang digunakan untuk pengujian aktivitas lari (misalnya, aktivitas lari yang disimpan dalam sejarah).
  2. profile/:

    • ProfileModel.dart: Model yang mendefinisikan struktur data untuk profil pengguna (nama, foto profil, dll.).
    • DummyProfile.dart: Data dummy untuk pengujian profil pengguna.
  3. heart_rate/:

    • HeartRateModel.dart: Model yang mendefinisikan struktur data untuk detak jantung yang terekam selama aktivitas.
    • DummyHeartRate.dart: Data dummy detak jantung untuk pengujian.

Features Folder ini berisi fitur-fitur utama dari aplikasi yang dikelompokkan sesuai fungsionalitas.

  1. activity_tracking/:

    • RunActivityScreen.dart: Layar utama yang menampilkan data aktivitas lari pengguna secara real-time (misalnya detak jantung, pace, kalori terbakar).
    • HeartRateWidget.dart: Widget yang menampilkan detak jantung pengguna selama aktivitas.
    • CurrentPaceWidget.dart: Widget yang menampilkan kecepatan saat ini (current pace) pengguna saat berlari.
    • AveragePaceWidget.dart: Widget yang menampilkan kecepatan rata-rata (average pace) selama aktivitas.
    • CaloriesBurnWidget.dart: Widget yang menampilkan jumlah kalori yang terbakar.
    • ActivityDetailsWidget.dart: Widget yang menampilkan detail aktivitas lari seperti jarak, waktu, dan peta rute.
    • ActivityController.dart: Controller yang mengatur logika bisnis untuk mengumpulkan dan menampilkan data aktivitas pengguna.
  2. activity_history/:

    • ActivityHistoryScreen.dart: Layar yang menampilkan riwayat aktivitas lari pengguna (misalnya lari pagi, lari malam, dll.).
    • ActivityListItemWidget.dart: Widget yang menampilkan setiap item riwayat aktivitas dalam bentuk daftar.
    • DateFilterWidget.dart: Widget yang memungkinkan pengguna untuk memfilter riwayat aktivitas berdasarkan tanggal.
    • TimePeriodFilterWidget.dart: Widget yang memungkinkan pengguna untuk memfilter aktivitas berdasarkan periode waktu (misalnya 1 minggu, 2 minggu, 1 bulan).
    • HistoryController.dart: Controller untuk mengelola logika bisnis yang berhubungan dengan menampilkan dan memfilter riwayat aktivitas.
  3. profile_management/:

    • ProfileScreen.dart: Layar yang menampilkan profil pengguna, termasuk informasi pribadi seperti nama dan foto profil.
    • ProfileDetailsWidget.dart: Widget yang menampilkan detail profil pengguna.
    • ProfileController.dart: Controller yang mengelola logika bisnis terkait profil pengguna, seperti pembaruan informasi profil.

Fungsi Setiap Folder dan File

Dengan struktur ini, aplikasi dibangun agar modular, sehingga setiap fitur dapat dikembangkan dan dikelola secara terpisah tanpa mengganggu bagian lain dari aplikasi.