"Produktivitas yang menyenangkan ada di sini"
Atur tugas, bangun kebiasaan positif, dan capai tujuanmu bersama FunFlow!
| Fitur | Deskripsi |
|---|---|
| Manajemen Tugas | Tambah, prioritaskan, dan selesaikan tugas dengan UI intuitif. Filter berdasarkan prioritas (Tinggi/Sedang/Rendah), swipe untuk hapus. |
| Kanban Board | Visualisasi progres kerja di 3 kolom: Antrian → Dikerjakan → Selesai. Tambah kartu dengan tag kategori. |
| Timer Pomodoro | Timer fokus 25 menit + istirahat, dilengkapi ring progress animasi. Statistik sesi harian & total fokus. |
| Habit Tracker | Lacak kebiasaan harian, lihat streak, grafik mingguan, dan progres visual penuh warna. |
| Dashboard | Ringkasan harian: tugas selesai, prioritas tinggi, kebiasaan, dan sesi fokus dalam satu tampilan. |
| Onboarding | Flow onboarding 5 langkah yang menarik, bisa di-skip kapan saja (< 1 menit). |
Flutter 3.x (Dart)
├── State Management : flutter_riverpod 2.x
├── Navigation : go_router 13.x
├── Fonts : google_fonts (Nunito)
├── Storage : shared_preferences
├── Animations : flutter_animate
├── UI Progress : percent_indicator
└── Icons : iconsax
flutter --version # Flutter 3.2+
dart --version # Dart 3.2+git clone https://github.com/yourname/funflow.git
cd funflow
flutter pub getflutter run
# atau mode release untuk performa terbaik:
flutter run --releaseflutter build apk --debug
# Output: build/app/outputs/flutter-apk/app-debug.apk# 1. Buat keystore (lakukan sekali saja):
keytool -genkey -v -keystore ~/funflow-key.jks \
-keyalg RSA -keysize 2048 -validity 10000 \
-alias funflow
# 2. Buat file android/key.properties:
# storePassword=<password>
# keyPassword=<password>
# keyAlias=funflow
# storeFile=<path-to-funflow-key.jks>
# 3. Build release APK:
flutter build apk --release
# 4. Build App Bundle (DIREKOMENDASIKAN untuk Play Store):
flutter build appbundle --release
# Output: build/app/outputs/bundle/release/app-release.aabdef keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}funflow/
├── lib/
│ ├── main.dart # Entry point
│ ├── core/
│ │ ├── theme.dart # AppColors, AppTheme
│ │ ├── constants.dart # AppConstants
│ │ └── router.dart # GoRouter config
│ ├── models/
│ │ ├── task_model.dart # Task data model
│ │ ├── habit_model.dart # Habit data model
│ │ └── kanban_model.dart # KanbanCard data model
│ ├── providers/
│ │ ├── tasks_provider.dart # Riverpod tasks state
│ │ ├── habits_provider.dart # Riverpod habits state
│ │ ├── pomodoro_provider.dart # Riverpod pomodoro state
│ │ └── kanban_provider.dart # Riverpod kanban state
│ └── screens/
│ ├── shell_screen.dart # Bottom nav shell
│ ├── onboarding_screen.dart # 5-page onboarding
│ ├── dashboard_screen.dart # Home / summary
│ ├── tasks_screen.dart # Task management
│ ├── kanban_screen.dart # Kanban board
│ ├── pomodoro_screen.dart # Pomodoro timer
│ └── habits_screen.dart # Habit tracker
├── android/
│ └── app/src/main/
│ ├── AndroidManifest.xml
│ └── res/values/styles.xml
├── pubspec.yaml # Dependencies
└── README.md # This file
- Push notification untuk pengingat tugas
- Widget layar utama Android
- Alarm Pomodoro dengan suara
- Bagikan proyek/tugas dengan tim
- Komentar pada tugas
- Profil pengguna
- Saran prioritas tugas otomatis (AI)
- Dashboard analitik produktivitas
- Laporan mingguan via email
- Firebase Authentication
- Firestore cloud sync real-time
- Backup otomatis
- Multi-device support
- Fork repository ini
- Buat branch baru:
git checkout -b fitur/nama-fitur - Commit:
git commit -m "Tambah: nama fitur" - Push:
git push origin fitur/nama-fitur - Buat Pull Request
MIT License — bebas digunakan untuk keperluan pribadi & komersial.
Dibuat dengan untuk komunitas produktivitas Indonesia
Berdasarkan riset kompetitor: Todoist, TickTick, Notion, Trello, Asana, Evernote