Skip to content

Latest commit

Β 

History

85 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Flutter Dart Firebase Google Maps

πŸš€ Bangkit Usaha

Aplikasi Manajemen Usaha Modern untuk UMKM Indonesia

Bangkit Usaha adalah aplikasi manajemen usaha berbasis mobile yang dibangun menggunakan framework Flutter. Aplikasi ini dirancang untuk membantu pelaku UMKM dalam mengelola inventaris, keuangan, transaksi, dan operasional bisnis mereka secara efisien dan modern.


πŸ‘₯ Tim Pengembang (Kelompok 2)

Nama NIM
Adam Haritsa Thahara A11.2024.15556
Angela Echa Naresti A11.2024.15791
Farros Rifantiarno R. A11.2024.15694
Puguh Wibowo A11.2024.15942

πŸ“± Deskripsi Aplikasi

Bangkit Usaha adalah solusi digital lengkap untuk pengelolaan bisnis UMKM. Aplikasi ini menyediakan berbagai fitur yang saling terintegrasi untuk memudahkan pemilik usaha dalam:

  • πŸ“Š Monitoring Bisnis - Dashboard interaktif dengan grafik penjualan dan statistik real-time
  • πŸ“¦ Kelola Inventaris - Manajemen produk dengan fitur tambah, edit, hapus, dan notifikasi stok rendah
  • πŸ’° Pencatatan Keuangan - Tracking pemasukan dan pengeluaran dengan laporan mingguan/bulanan
  • πŸ›’ Manajemen Pesanan - Pengelolaan pesanan masuk dan checkout yang efisien
  • πŸͺ Profil Toko - Halaman profil toko dengan informasi bisnis lengkap
  • πŸ‘₯ Komunitas - Fitur sosial untuk berbagi tips dan pengalaman antar pelaku usaha
  • πŸ’¬ Chat - Komunikasi langsung antar pengguna dalam aplikasi
  • πŸ”” Notifikasi - Pemberitahuan real-time untuk transaksi dan update penting
  • πŸ“ Lokasi Usaha - Integrasi Google Maps untuk menampilkan dan memilih lokasi toko

πŸ› οΈ Tech Stack

Core Framework

Teknologi Versi Deskripsi
Flutter ^3.10.3 Framework UI cross-platform
Dart Latest Bahasa pemrograman utama

Backend & Cloud Services (Firebase)

Package Versi Fungsi
firebase_core ^3.0.0 Inisialisasi Firebase
firebase_auth ^5.7.0 Autentikasi pengguna
cloud_firestore ^5.6.12 Database NoSQL real-time
firebase_storage ^12.4.10 Penyimpanan file/gambar
firebase_messaging ^15.2.10 Push notification
google_sign_in ^6.2.1 Login dengan Google

State Management

Package Versi Fungsi
provider ^6.1.2 State management
rxdart ^0.28.0 Reactive programming

UI & Styling

Package Versi Fungsi
google_fonts ^6.2.1 Tipografi modern
lucide_icons ^0.257.0 Icon set modern
cupertino_icons ^1.0.8 iOS-style icons
toastification ^3.0.3 Toast notifications
cached_network_image ^3.4.1 Image caching

Maps & Location

Package Versi Fungsi
google_maps_flutter ^2.5.0 Tampilan peta interaktif
geolocator ^10.1.0 Akses GPS device
geocoding ^2.1.1 Konversi koordinat ke alamat

Utilities

Package Versi Fungsi
intl ^0.19.0 Format tanggal & mata uang
image_picker ^1.2.1 Upload foto produk/profil
url_launcher ^6.2.5 Buka link eksternal
shared_preferences ^2.5.4 Penyimpanan lokal
http ^1.2.0 HTTP requests

Media

Package Versi Fungsi
video_player ^2.8.1 Pemutar video
chewie ^1.7.1 Video player UI

βš™οΈ Instalasi & Setup

Prasyarat

Pastikan Anda telah menginstall:

Langkah Instalasi

  1. Clone Repository

    git clone https://github.com/Elnathz/BangkitUsahaFLutter.git
    cd BangkitUsahaFLutter
  2. Install Dependencies

    flutter pub get
  3. Konfigurasi Firebase

    Pastikan file lib/firebase_options.dart sudah terkonfigurasi dengan project Firebase Anda.

    Jika belum ada, setup menggunakan FlutterFire CLI:

    dart pub global activate flutterfire_cli
    flutterfire configure
  4. Konfigurasi Google Maps API Key

    🌐 Untuk Web (Chrome)

    Edit file web/index.html, tambahkan script berikut di dalam tag <head>:

    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script>
    πŸ“± Untuk Android

    Edit file android/app/src/main/AndroidManifest.xml:

    a. Tambahkan permissions (sebelum tag <application>):

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    
    <!-- Untuk share ke WhatsApp & Instagram -->
    <queries>
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="https" />
        </intent>
        <intent>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="instagram" />
        </intent>
    </queries>

    b. Tambahkan API Key Maps (di dalam tag <application>):

    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="YOUR_API_KEY" />
    🍎 Untuk iOS

    Edit file ios/Runner/AppDelegate.swift:

    import GoogleMaps
    
    // Di dalam application function, tambahkan:
    GMSServices.provideAPIKey("YOUR_API_KEY")

    Edit ios/Runner/Info.plist, tambahkan:

    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Aplikasi membutuhkan akses lokasi untuk menampilkan peta.</string>

πŸš€ Cara Menjalankan Aplikasi

Mode Development

# Jalankan di device/emulator default
flutter run

# Jalankan di Chrome (Web)
flutter run -d chrome

# Jalankan di Chrome dengan disable web security (untuk development)
flutter run -d chrome --web-browser-flag "--disable-web-security"

# Jalankan di Android Emulator
flutter run -d android

# Jalankan di iOS Simulator
flutter run -d ios

Build Production

# Build APK untuk Android
flutter build apk --release

# Build App Bundle untuk Play Store
flutter build appbundle --release

# Build untuk Web
flutter build web --release

# Build untuk iOS
flutter build ios --release

πŸ“‚ Struktur Folder

lib/
β”œβ”€β”€ features/                     # Modul fitur aplikasi
β”‚   β”œβ”€β”€ account/                  # Manajemen akun & profil pengguna
β”‚   β”œβ”€β”€ auth/                     # Autentikasi
β”‚   β”‚   β”œβ”€β”€ login_screen.dart
β”‚   β”‚   └── register_screen.dart
β”‚   β”œβ”€β”€ cart/                     # Keranjang belanja
β”‚   β”œβ”€β”€ chat/                     # Fitur chat antar pengguna
β”‚   β”œβ”€β”€ community/                # Fitur komunitas & sosial media
β”‚   β”œβ”€β”€ finance/                  # Manajemen keuangan
β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   └── screens/
β”‚   β”œβ”€β”€ home/                     # Dashboard & halaman utama
β”‚   β”‚   β”œβ”€β”€ dashboard_screen.dart
β”‚   β”‚   └── main_wrapper.dart
β”‚   β”œβ”€β”€ inventory/                # Manajemen stok produk
β”‚   β”‚   β”œβ”€β”€ checkout_screen.dart
β”‚   β”‚   └── products_screen.dart
β”‚   β”œβ”€β”€ notifications/            # Layanan notifikasi
β”‚   └── shop/                     # Profil & tampilan toko
β”‚
β”œβ”€β”€ services/                     # Business logic & API services
β”‚   β”œβ”€β”€ address_service.dart      # Layanan alamat & lokasi
β”‚   β”œβ”€β”€ badge_service.dart        # Sistem badge pengguna
β”‚   β”œβ”€β”€ chat_service.dart         # Backend chat
β”‚   β”œβ”€β”€ finance_service.dart      # Logic keuangan
β”‚   β”œβ”€β”€ market_service.dart       # Logic pasar & transaksi
β”‚   └── notification_service.dart # Handler notifikasi
β”‚
β”œβ”€β”€ firebase_options.dart         # Konfigurasi Firebase
β”œβ”€β”€ theme_manager.dart            # Pengaturan tema aplikasi
β”œβ”€β”€ map_picker_screen.dart        # Screen pemilihan lokasi
└── main.dart                     # Entry point aplikasi

πŸ”— API Services

Aplikasi ini menggunakan beberapa layanan API internal yang terhubung dengan Firebase:

Service File Deskripsi
MarketService lib/services/market_service.dart CRUD produk, manajemen toko, dan transaksi
FinanceService lib/services/finance_service.dart Pencatatan pemasukan & pengeluaran
ChatService lib/services/chat_service.dart Pengiriman & penerimaan pesan
AddressService lib/services/address_service.dart Geocoding & reverse geocoding
NotificationService lib/services/notification_service.dart Push notification & local notification
BadgeService lib/services/badge_service.dart Sistem achievement & badge

External APIs

  • Firebase Authentication - Login & registrasi pengguna
  • Cloud Firestore - Database real-time
  • Firebase Storage - Upload gambar produk & profil
  • Google Maps API - Tampilan peta & geocoding
  • Firebase Cloud Messaging - Push notifications

Dibuat dengan ❀️ oleh Kelompok 2 menggunakan Flutter

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages