Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

46 Commits

Folders and files

Repository files navigation

Resurva Mobile Hero Banner

Resurva Mobile

"Food waste is not just about emissions. It's about how much we value our food."

Aplikasi Mobile Resurva Marketplace untuk mempermudah pencarian, pembelian, dan penyelamatan produk makanan surplus/near-expiry dari merchant terdekat dengan harga diskon.

Flutter Badge Dart Badge Riverpod Badge BytesFest 2026 Status Badge


πŸ“Œ Daftar Isi


πŸ“± Tentang Resurva Mobile

Resurva Mobile merupakan bagian dari ekosistem Resurva yang berfokus pada sisi konsumen (Marketplace/Buyer). Sementara merchant dan pelaku usaha kuliner mengelola inventaris makanan surplus mereka melalui platform web (Resurva Web - resurva.my.id), konsumen akhir (seperti mahasiswa, pencari promo/discount hunter, dan masyarakat yang peduli lingkungan) menggunakan aplikasi mobile ini untuk mencari, menyelamatkan, dan membeli produk makanan tersebut sebelum kedaluwarsa.


⚠️ Masalah yang Kami Lihat

Indonesia memproduksi sekitar 23 hingga 48 juta ton food waste per tahun, yang setara dengan kerugian ekonomi mencapai Rp213 hingga Rp551 triliun per tahun. Di sisi lain, UMKM sektor kuliner (seperti di Kota Solo yang memiliki lebih dari 13.203 UMKM pangan) sering kali kesulitan menjual produk sisa harian mereka yang sebenarnya masih sangat layak konsumsi.

Dari sudut pandang konsumen:

  1. Kurangnya Akses Informasi: Konsumen kesulitan mengetahui merchant kuliner terdekat mana yang memiliki stok makanan berlebih/hampir kedaluwarsa dengan harga diskon.
  2. Keterbatasan Kanal Aksi: Belum adanya platform terintegrasi yang memudahkan masyarakat umum untuk berkontribusi langsung mengurangi jejak karbon akibat sampah makanan (food waste) secara harian secara praktis.

πŸ’‘ Solusi yang Kami Tawarkan

Aplikasi mobile Resurva memberikan solusi langsung melalui platform marketplace surplus pangan berbasis lokasi:

  • Lokalisasi Real-Time: Menggunakan fitur GPS perangkat untuk mendeteksi merchant dan produk surplus terdekat.
  • Harga Bersahabat: Penawaran harga diskon khusus untuk makanan lezat yang masih layak konsumsi agar tidak terbuang sia-sia.
  • Transparansi Dampak Carbon: Setiap transaksi menunjukkan estimasi emisi karbon yang berhasil dicegah dengan menyelamatkan makanan tersebut.

πŸ”„ Cara Kerja

Berikut adalah alur perjalanan pengguna dalam menggunakan aplikasi mobile Resurva:

flowchart TD
    A[Buka App Resurva Mobile] --> B[Izinkan Akses Lokasi GPS]
    B --> C[Cari Merchant / Lihat Peta Produk Terdekat]
    C --> D[Pilih Makanan Surplus & Diskon]
    D --> E[Checkout & Lakukan Pembayaran QRIS]
    E --> F[Ambil Makanan di Merchant Terdekat]
    F --> G[Lihat Ringkasan Dampak Karbon & Emisi yang Dihemat]
    G --> H[Ulangi / Selamatkan Makanan Lain]
Loading

πŸ› οΈ Fitur Utama

Berikut adalah fitur-fitur yang terimplementasi dalam codebase proyek Resurva Mobile saat ini:

Fitur / Modul di Codebase Implementasi & Alur Fitur Mengapa Penting
Pendeteksi Lokasi (GPS & Leaflet) Halaman Peta Interaktif (full_map_screen.dart via flutter_map & geolocator) Memetakan lokasi merchant kuliner surplus terdekat secara real-time dari posisi GPS pengguna menggunakan peta Leaflet (OpenStreetMap).
Eksplorasi & Discovery Beranda & Pencarian (home_screen.dart & search_screen.dart) Memungkinkan penjelajahan merchant terdekat, ulasan, menu diskon, dan promo Flash Sale aktif secara instan.
Keranjang Belanja (Cart) Pengelolaan Keranjang (global_cart_bar.dart & cart) Layanan reaktif untuk menambah/mengurangi item surplus sebelum diproses ke halaman checkout.
Sistem Pesanan & Checkout Pembayaran & Orders (checkout_screen & orders_screen_v2.dart) Menyediakan pemrosesan pesanan, pemilihan metode pembayaran QRIS/E-Wallet, serta riwayat pesanan aktif.
Personal Sustainability Counter Dashboard Dampak (profile_screen.dart) Menampilkan jumlah makanan yang berhasil diselamatkan dan total emisi karbon ($CO_2$) terhindar secara real-time.

πŸ‘€ Contoh Pengalaman Pengguna

Berikut adalah contoh skenario penggunaan aplikasi Resurva Mobile berdasarkan data pengujian:

  1. Andi, seorang mahasiswa di dekat kampus, membuka aplikasi Resurva Mobile menjelang sore hari untuk mencari makan malam hemat.
  2. Aplikasi meminta izin akses lokasi dan menampilkan peta merchant terdekat. Andi melihat toko roti Breadcraft Malang yang berjarak 300 meter menawarkan paket roti surplus diskon 60% dengan sisa waktu pengambilan tinggal 2 jam lagi.
  3. Andi memilih paket tersebut di menu Croissant Butter, lalu melakukan checkout menggunakan saldo dompet digitalnya via pembayaran QRIS / E-Wallet.
  4. Setelah transaksi sukses, Andi mendapatkan QR Code transaksi di menu Layar Detail Pesanan (Orders).
  5. Andi berjalan ke toko roti tersebut, menunjukkan QR Code kepada kasir untuk dipindai, dan mengambil rotinya.
  6. Aplikasi langsung memperbarui statistiknya, menunjukkan bahwa Andi telah menghemat pengeluaran sebesar Rp15.000 (Harga Rp25.000 menjadi Rp10.000) dan berhasil mencegah terbentuknya emisi karbon sebesar 1.2 kg COβ‚‚e.

πŸ“ˆ Dampak yang Ingin Dicapai

  • 10.000+ Transaksi Surplus Terpenuhi: Membantu UMKM kuliner menjual makanan sisa harian mereka yang masih layak makan.
  • Penyelamatan Pangan: Menargetkan penyelamatan minimal 5 ton makanan layak konsumsi dari pembuangan akhir setiap tahun di area pilot.
  • Reduksi Emisi Gas Rumah Kaca: Mengurangi emisi metana (CHβ‚„) dan karbon dioksida (COβ‚‚) setara dengan penanaman ratusan pohon per tahun melalui kontribusi kolektif pengguna.

πŸ’» Teknologi

Aplikasi mobile ini dikembangkan menggunakan teknologi mutakhir berikut:


βš™οΈ Instalasi & Menjalankan Secara Lokal

Prasyarat Sebelum Memulai

Pastikan komputer pengembang telah memiliki perangkat lunak berikut:

  • Flutter SDK: Versi 3.11.0 ke atas.
  • Dart SDK: Sesuai dengan bawaan Flutter SDK yang terinstal.
  • Android Studio / Xcode: Untuk menjalankan emulator Android/iOS dan keperluan build platform-specific.

Langkah-Langkah Menjalankan Proyek

  1. Clone Repositori:

    git clone https://github.com/Nexa-Code-Studio/resurva_mobile.git
    cd resurva_mobile
  2. Sinkronisasi Port Emulator (ADB Reverse): Gunakan ADB reverse jika Anda ingin menghubungkan emulator Android ke server backend FastAPI lokal (misalnya pada port 8000):

    adb reverse tcp:8000 tcp:8000
  3. Memasang Dependensi: Unduh semua paket pustaka yang tercantum di pubspec.yaml:

    flutter pub get
  4. Menentukan Environment Variable (Base URL API): Jalankan proyek Flutter menggunakan argumen --dart-define untuk menyuntikkan base URL endpoint API backend Anda secara dinamis:

    flutter run --dart-define=RESURVA_API_BASE_URL=http://10.0.2.2:8000/api/v1

    [!TIP] Gantilah IP 10.0.2.2 dengan IP lokal komputer Anda jika menggunakan perangkat fisik Android secara langsung.

  5. Build APK Rilis: Untuk menghasilkan file instalasi APK mandiri:

    flutter build apk --release --dart-define=RESURVA_API_BASE_URL=https://api.resurva.my.id/api/v1

πŸ“‚ Struktur Folder

Berikut adalah visualisasi struktur folder utama dari modul lib aplikasi Flutter ini:

lib/
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ constants/      # Nilai konstan (colors, assets, strings)
β”‚   β”œβ”€β”€ services/       # Layanan sistem (notifikasi, storage, API client)
β”‚   └── theme/          # Konfigurasi skema warna dan tema UI (Material 3)
β”œβ”€β”€ features/           # Modul fitur berbasis Feature-First Architecture
β”‚   β”œβ”€β”€ auth/           # Fitur login dan register
β”‚   β”œβ”€β”€ cart/           # Fitur keranjang belanja item surplus
β”‚   β”œβ”€β”€ checkout/       # Halaman ringkasan belanja, invoice, & pembayaran
β”‚   β”œβ”€β”€ discovery/      # Halaman utama, peta merchant terdekat, & ulasan produk
β”‚   β”œβ”€β”€ orders/         # Layanan pelacakan status pesanan aktif & riwayat
β”‚   β”œβ”€β”€ profile/        # Detail profil, pengaturan, & counter dampak lingkungan
β”‚   └── splash/         # Layanan splash screen loading awal
β”œβ”€β”€ shared/
β”‚   β”œβ”€β”€ providers/      # Navigasi status bersama global
β”‚   └── widgets/        # Komponen widget reusable (MainLayout, custom bar, dll.)
└── main.dart           # Titik masuk utama aplikasi (Riverpod ProviderScope & routing)

πŸš€ Cara Mengakses Aplikasi (Demo)

Aplikasi mobile Resurva didistribusikan secara langsung untuk pengujian alpha/beta dengan cara berikut:


πŸ“– Panduan Penggunaan

  1. Unduh dan Pasang Aplikasi: Dapatkan APK melalui link rilis di atas dan pasang di perangkat Android Anda.
  2. Aktifkan GPS & Izin Lokasi: Saat pertama kali membuka aplikasi, berikan izin lokasi kepada Resurva agar sistem dapat memetakan merchant terdekat.
  3. Daftar & Masuk Akun: Buat akun baru di menu Daftar dengan melengkapi nama dan verifikasi dasar.
  4. Cari Produk Surplus: Pada halaman utama, jelajahi daftar makanan yang tersedia di sekitar radius Anda.
  5. Reservasi & Checkout: Pilih makanan surplus yang Anda inginkan, masukkan ke keranjang belanja, lalu konfirmasi pembayaran nontunai Anda.
  6. Ambil Makanan & Pindai QR: Kunjungi toko kuliner tersebut sebelum sisa batas waktu habis, tunjukkan halaman detail transaksi berisi QR Code ke staf kasir untuk dikonfirmasi.
  7. Pantau Dampak Positif Anda: Buka menu Profil untuk memantau akumulasi emisi karbon yang berhasil Anda selamatkan dari setiap transaksi yang Anda lakukan.

❓ FAQ (Frequently Asked Questions)

1. Apa itu Resurva Marketplace?
Resurva Marketplace adalah platform mobile berbasis lokasi yang memfasilitasi konsumen untuk membeli makanan surplus atau produk kuliner lezat yang mendekati masa kedaluwarsa dari toko, restoran, dan UMKM terdekat dengan harga yang jauh lebih murah.
2. Siapa saja yang dapat menggunakan aplikasi ini?
Aplikasi ini dapat digunakan oleh semua kalangan masyarakat, terutama mahasiswa, pencari diskon makanan berkualitas, serta komunitas pencinta lingkungan yang ingin berkontribusi aktif mengurangi food waste di Indonesia.
3. Bagaimana saya bisa tahu produk makanan surplus tersebut masih layak konsumsi?
Semua produk yang dijual di Resurva adalah produk surplus harian (seperti kelebihan produksi roti hari ini, stok makanan utuh yang belum terjual menjelang jam tutup toko) dan bukan makanan sisa meja makan. Resurva menerapkan aturan ketat bagi merchant mitra untuk mematuhi standar higienitas.
4. Apakah ada batas minimal pembelian untuk setiap transaksi?
Tidak ada minimal pembelian. Anda dapat menyelamatkan satu produk makanan sekalipun sesuai dengan ketersediaan stok merchant.
5. Apa saja metode pembayaran yang didukung di aplikasi Resurva Mobile?
Pembayaran didukung menggunakan e-wallet terintegrasi dan scan QRIS (Quick Response Code Indonesian Standard) nasional.
6. Berapa radius maksimal pencarian produk dari lokasi saya berada?
Secara bawaan, aplikasi akan menampilkan merchant dalam radius 5 km dari posisi GPS Anda. Anda dapat mengubah filter jarak pencarian melalui bilah penyaringan di halaman utama.
7. Bagaimana cara toko kuliner saya bergabung menjadi merchant Resurva?
Untuk mendaftarkan usaha Anda sebagai merchant, silakan akses dashboard web pendaftaran kami di [resurva.my.id](https://resurva.my.id/) menggunakan platform **Resurva Smart Business Platform**. Anda belum dapat mendaftarkan merchant langsung dari aplikasi mobile ini.
8. Ke mana saya harus melaporkan jika ada masalah dalam transaksi atau produk yang tidak layak?
Anda dapat menghubungi layanan bantuan kami melalui email nexacode.studio@gmail.com atau melalui halaman bantuan pada tab Profil.

πŸ“„ Lisensi & Catatan Proyek

Aplikasi mobile ini dikembangkan khusus sebagai bagian dari keikutsertaan kompetisi BytesFest 2026 di Politeknik Negeri Malang oleh Tim NexaCode. Proyek ini bertujuan untuk menciptakan solusi nyata berbasis teknologi bagi kelestarian lingkungan dan ketahanan pangan nasional.


Made with ❀️ by NexaCode Team for a Sustainable Future 🌿

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages