Skip to content

KampusMeal/kampusmeal-mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

55 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍽️ KampusMeal Mobile

KampusMeal Logo

Aplikasi Pemesanan Makanan untuk Mahasiswa Kampus

Flutter Dart Platform


πŸ“± Tentang Aplikasi

KampusMeal adalah aplikasi mobile untuk memesan makanan dari berbagai stall/warung makanan di sekitar kampus. Aplikasi ini memudahkan mahasiswa untuk memesan, membayar, dan melacak pesanan makanan mereka.

✨ Fitur Utama

Fitur Deskripsi
πŸ” Authentication Register, Login, dan Logout dengan JWT
πŸͺ Explore Stalls Jelajahi berbagai stall makanan di kampus
🍜 Menu & Detail Lihat menu lengkap dengan harga dan gambar
πŸ›’ Keranjang Tambah, edit, dan hapus item dari keranjang
πŸ’³ Checkout & Payment Pilih metode pengambilan (pickup/delivery) dan upload bukti bayar
πŸ“¦ Order Tracking Lacak status pesanan secara real-time
πŸ”” Notifikasi Notifikasi lokal saat status pesanan berubah
⭐ Review & Rating Berikan ulasan dan rating untuk pesanan yang selesai
πŸ‘€ Profile Management Edit profil dan alamat pengiriman

πŸ› οΈ Tech Stack

Core

  • Flutter ^3.9.2 - Framework UI cross-platform
  • Dart ^3.0 - Bahasa pemrograman

State Management

  • Provider ^6.1.5 - State management sederhana dan efektif

Networking & Storage

  • Dio ^5.4.0 - HTTP client dengan interceptors
  • Flutter Secure Storage ^9.0.0 - Penyimpanan aman untuk token
  • Shared Preferences ^2.2.2 - Penyimpanan lokal

Features

  • Flutter Local Notifications ^19.0.0 - Notifikasi lokal
  • Image Picker ^1.2.1 - Upload foto (bukti bayar, profil)
  • Intl ^0.18.1 - Format tanggal dan mata uang

Config

  • Flutter Dotenv ^5.2.1 - Environment variables

πŸ“‚ Struktur Project

lib/
β”œβ”€β”€ main.dart                    # Entry point aplikasi
β”œβ”€β”€ constants/                   # Konstanta dan konfigurasi
β”‚   └── review_tags.dart
β”œβ”€β”€ models/                      # Data models
β”‚   β”œβ”€β”€ cart.dart
β”‚   β”œβ”€β”€ order.dart
β”‚   β”œβ”€β”€ review.dart
β”‚   β”œβ”€β”€ stall.dart
β”‚   β”œβ”€β”€ stall_detail.dart
β”‚   └── user.dart
β”œβ”€β”€ providers/                   # State management
β”‚   β”œβ”€β”€ auth_provider.dart
β”‚   └── cart_provider.dart
β”œβ”€β”€ services/                    # API dan business logic
β”‚   β”œβ”€β”€ api_client.dart          # HTTP client dengan interceptors
β”‚   β”œβ”€β”€ auth_service.dart        # Authentication API
β”‚   β”œβ”€β”€ cart_service.dart        # Cart management
β”‚   β”œβ”€β”€ notification_service.dart # Local notifications
β”‚   β”œβ”€β”€ order_service.dart       # Order API
β”‚   β”œβ”€β”€ review_service.dart      # Review API
β”‚   β”œβ”€β”€ stall_service.dart       # Stall API
β”‚   └── user_service.dart        # User/Profile API
β”œβ”€β”€ screens/                     # UI Screens
β”‚   β”œβ”€β”€ splash_screen.dart
β”‚   β”œβ”€β”€ welcome_screen.dart
β”‚   β”œβ”€β”€ login_screen.dart
β”‚   β”œβ”€β”€ register_screen.dart
β”‚   β”œβ”€β”€ home_screen.dart
β”‚   β”œβ”€β”€ explore_screen.dart
β”‚   β”œβ”€β”€ restaurant_detail_screen.dart
β”‚   β”œβ”€β”€ checkout_screen.dart
β”‚   β”œβ”€β”€ payment_screen.dart
β”‚   β”œβ”€β”€ payment_loading_screen.dart
β”‚   β”œβ”€β”€ order_history_screen.dart
β”‚   β”œβ”€β”€ review/
β”‚   β”‚   └── review_order_screen.dart
β”‚   β”œβ”€β”€ profile_screen.dart
β”‚   β”œβ”€β”€ edit_profile_screen.dart
β”‚   β”œβ”€β”€ edit_address_screen.dart
β”‚   β”œβ”€β”€ address_screen.dart
β”‚   └── about_screen.dart
└── utils/                       # Helper functions

πŸš€ Getting Started

Prerequisites

  • Flutter SDK ^3.9.2
  • Dart SDK ^3.0
  • Android Studio / VS Code
  • Android Emulator atau Device Fisik

Installation

  1. Clone repository

    git clone https://github.com/your-username/kampusmeal-mobile.git
    cd kampusmeal-mobile
  2. Setup environment

    cp .env.example .env

    Edit .env dan isi dengan konfigurasi yang sesuai:

    API_BASE_URL=https://your-api-url.com
  3. Install dependencies

    flutter pub get
  4. Run aplikasi

    flutter run

Build APK

# Debug APK
flutter build apk --debug

# Release APK
flutter build apk --release

πŸ”” Fitur Notifikasi

Aplikasi ini mendukung notifikasi lokal untuk update status pesanan:

Status Notifikasi
waiting_confirmation "Pembayaran Terkirim πŸ“€"
processing "Pesanan Dikonfirmasi 🍳"
ready (pickup) "Pesanan Siap Diambil πŸ›’"
ready (delivery) "Pesanan Dikirim πŸ›΅"
completed "Pesanan Selesai βœ…"
rejected "Pesanan Ditolak ❌"

πŸ“¦ Order Status Flow

pending_payment β†’ waiting_confirmation β†’ processing β†’ ready β†’ completed
                          ↓
                      rejected
Status Deskripsi
pending_payment Menunggu user upload bukti bayar
waiting_confirmation Menunggu konfirmasi penjual
processing Pesanan sedang diproses/dimasak
ready Siap diambil (pickup) atau sedang dikirim (delivery)
completed Pesanan selesai
rejected Pesanan ditolak oleh penjual

🎨 Design System

Color Palette

Warna Hex Penggunaan
🟠 Primary Orange #FF7449 Warna utama, tombol, header
🟑 Secondary Orange #FB923C Aksen, gradient
🟒 Teal #14B8A6 Status selesai, badge aktif
⚫ Text Dark #1F2937 Teks utama
βšͺ Background #F9FAFB Background halaman

πŸ‘₯ Tim Pengembang

Nama NIM
Muh. Fajri Farid D121231038
Irgiyansyah Ahmad Fahrezy D121231115
Andi Muhammada Abigail Ghalib Athallah Surya Putra D121231109

πŸ“„ License

Project ini dibuat untuk keperluan tugas kuliah Mobile Programming.


Made with ❀️ using Flutter

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors