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.
| 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 |
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
| Teknologi | Versi | Deskripsi |
|---|---|---|
| Flutter | ^3.10.3 | Framework UI cross-platform |
| Dart | Latest | Bahasa pemrograman utama |
| 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 |
| Package | Versi | Fungsi |
|---|---|---|
provider |
^6.1.2 | State management |
rxdart |
^0.28.0 | Reactive programming |
| 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 |
| 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 |
| 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 |
| Package | Versi | Fungsi |
|---|---|---|
video_player |
^2.8.1 | Pemutar video |
chewie |
^1.7.1 | Video player UI |
Pastikan Anda telah menginstall:
- Flutter SDK (versi 3.10.3 atau lebih baru)
- Android Studio atau VS Code
- Emulator Android/iOS atau device fisik
- Akun Firebase (untuk konfigurasi backend)
- Google Cloud Platform API Key untuk Maps
-
Clone Repository
git clone https://github.com/Elnathz/BangkitUsahaFLutter.git cd BangkitUsahaFLutter -
Install Dependencies
flutter pub get
-
Konfigurasi Firebase
Pastikan file
lib/firebase_options.dartsudah terkonfigurasi dengan project Firebase Anda.Jika belum ada, setup menggunakan FlutterFire CLI:
dart pub global activate flutterfire_cli flutterfire configure
-
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>
# 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 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 --releaselib/
βββ 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
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 |
- 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