Skip to content

thefool2507/funflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FunFlow — Aplikasi Produktivitas Cerdas & Menyenangkan

"Produktivitas yang menyenangkan ada di sini"
Atur tugas, bangun kebiasaan positif, dan capai tujuanmu bersama FunFlow!


Fitur Utama

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).

Tech Stack

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

Setup & Jalankan Lokal

1. Prerequisites

flutter --version   # Flutter 3.2+
dart --version      # Dart 3.2+

2. Clone & Install

git clone https://github.com/yourname/funflow.git
cd funflow
flutter pub get

3. Jalankan di Emulator / Device

flutter run
# atau mode release untuk performa terbaik:
flutter run --release

Build APK untuk Play Store

Debug APK (untuk testing)

flutter build apk --debug
# Output: build/app/outputs/flutter-apk/app-debug.apk

Release APK (untuk distribusi)

# 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.aab

Konfigurasi Signing (android/app/build.gradle)

def 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'
        }
    }
}

Struktur Project

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

Pengembangan Selanjutnya (Roadmap)

v1.1 — Notifikasi & Widget

  • Push notification untuk pengingat tugas
  • Widget layar utama Android
  • Alarm Pomodoro dengan suara

v1.2 — Kolaborasi

  • Bagikan proyek/tugas dengan tim
  • Komentar pada tugas
  • Profil pengguna

v1.3 — AI & Analitik

  • Saran prioritas tugas otomatis (AI)
  • Dashboard analitik produktivitas
  • Laporan mingguan via email

v2.0 — Cloud Sync

  • Firebase Authentication
  • Firestore cloud sync real-time
  • Backup otomatis
  • Multi-device support

Kontribusi

  1. Fork repository ini
  2. Buat branch baru: git checkout -b fitur/nama-fitur
  3. Commit: git commit -m "Tambah: nama fitur"
  4. Push: git push origin fitur/nama-fitur
  5. Buat Pull Request

Lisensi

MIT License — bebas digunakan untuk keperluan pribadi & komersial.


Dibuat dengan untuk komunitas produktivitas Indonesia

Berdasarkan riset kompetitor: Todoist, TickTick, Notion, Trello, Asana, Evernote

About

Atur tugas, bangun kebiasaan positif, dan capai tujuanmu bersama FunFlow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors