Setup awal proyek dengan Jetpack Compose dan Material3 Menambahkan skema warna mode gelap dengan warna gradien Mengimplementasikan struktur navigasi utama menggunakan Scaffold Membuat data class untuk Category, Note, dan ChatMessage Sprint 2: Manajemen Kategori Membuat CategoryDialog dengan pemilih warna gradien Mengimplementasikan kartu kategori dengan layout staggered grid Menambahkan fungsi hapus kategori melalui long press Mengimplementasikan navigasi saat kategori ditekan dan menampilkan jumlah catatan Sprint 3: Sistem Manajemen Catatan Membuat dialog catatan untuk tambah/edit catatan Mengimplementasikan kartu catatan dengan pratinjau isi dan timestamp Menambahkan fitur pin/unpin catatan dengan sorting otomatis Membuat tampilan catatan layar penuh dengan fitur auto-save Menambahkan fitur pencarian catatan berdasarkan judul dan isi Mengimplementasikan sistem arsip dan tempat sampah dengan opsi pemulihan Menambahkan long press untuk mengarsipkan catatan dari layar utama Sprint 4: UI Asisten AI Membuat layar AI Helper dengan header gradien Menambahkan dropdown pemilih kategori untuk filter konteks AI Mengimplementasikan tampilan statistik ringkas (total catatan, pinned, kategori) Membuat tampilan sambutan dengan suggestion chips untuk chat AI Membuat area input chat dengan TextField multiline Sprint 5: Integrasi Gemini AI Menyiapkan SDK Gemini AI dengan konfigurasi API Mengimplementasikan sistem pesan chat dengan pembeda user/AI Membuat UI gelembung chat dengan gaya berbeda untuk pengirim Menambahkan prompt engineering dengan membangun konteks dari catatan Mengimplementasikan pengiriman pesan dan menampilkan respons AI Menambahkan fitur salin ke clipboard untuk pesan AI Mengimplementasikan error handling dan loading state saat request AI Menambahkan auto-scroll ke bawah saat ada pesan baru Sprint 6: Peningkatan UI/UX Menambahkan animasi halus untuk drawer, FAB, dan transisi layar Meningkatkan desain kartu dengan shadow dan elevasi lebih baik Meningkatkan kontras warna dan keterbacaan teks Mengoptimalkan tampilan empty state dengan ikon dan pesan informatif Menambahkan indikator loading dan feedback visual di seluruh aplikasi Memoles area input dan styling TextField Mengimplementasikan background gradien untuk tombol dan header Menambahkan pesan konfirmasi untuk aksi salin dengan auto-hide Sprint 7: Penyimpanan Data (lanjutan) Membuat DataStoreManager untuk penyimpanan lokal Menambahkan data class Category dan Note versi Serializable Mengimplementasikan categoriesFlow dan notesFlow dengan error handling Menambahkan serialisasi/deserialisasi JSON menggunakan Kotlinx Serialization Mengimplementasikan saveCategories dan saveNotes dengan try-catch Menambahkan konfigurasi DataStore Preferences Konfigurasi & Dependencies Menambahkan permission INTERNET di AndroidManifest.xml Mengonfigurasi dependency DataStore Preferences Menambahkan plugin dan dependency Kotlinx Serialization Menambahkan dependency Google Generative AI (Gemini) SDK Mengonfigurasi plugin Kotlin Serialization di build.gradle Menambahkan Material Icons Extended agar pilihan ikon lebih banyak Menyiapkan Compose BOM untuk manajemen dependency Mengonfigurasi minSdk 24 dan targetSdk 34 Menambahkan konfigurasi Compose compiler Menyiapkan aturan proguard untuk mode rilis Struktur Proyek Membuat objek APIKey untuk konfigurasi API Gemini Menyiapkan tema aplikasi di AndroidManifest Mengonfigurasi dukungan vector drawable Menambahkan dependency dan konfigurasi untuk testing Menyiapkan packaging options untuk menghindari file META-INF Implementasi Penyimpanan Data Mengintegrasikan DataStoreManager ke dalam composable NotesApp Menambahkan LaunchedEffect untuk memuat kategori saat aplikasi dibuka Menambahkan LaunchedEffect untuk memuat catatan saat aplikasi dibuka Mengimplementasikan auto-save dengan debounce 500ms untuk kategori Mengimplementasikan auto-save dengan debounce 500ms untuk catatan Menambahkan error handling untuk operasi baca DataStore Menambahkan error handling untuk operasi tulis DataStore Memperbaiki empty state ketika DataStore masih kosong Perbaikan Bug Terkait Penyimpanan Memperbaiki error parsing JSON dengan konfigurasi ignoreUnknownKeys Menambahkan encodeDefaults ke konfigurasi JSON Memperbaiki penanganan IOException pada alur DataStore Menambahkan fallback emptyList untuk error decode JSON Memperbaiki kategori tidak tersimpan setelah restart aplikasi Memperbaiki catatan tidak tersimpan setelah restart aplikasi Mengoptimalkan operasi edit pada DataStore Testing & Validasi Menguji operasi CRUD kategori beserta penyimpanannya Menguji operasi CRUD catatan beserta penyimpanannya Memastikan data dimuat dengan benar setelah restart aplikasi Menguji operasi penyimpanan yang berjalan bersamaan Memvalidasi format serialisasi JSON Dokumentasi Menambahkan komentar untuk implementasi DataStoreManager Mendokumentasikan penggunaan data class Serializable Menambahkan dokumentasi inline untuk transformasi Flow Perbaikan Bug & Optimasi Memperbaiki penghapusan kategori yang tidak menghapus catatan terkait Memperbaiki pencarian yang tidak reset saat berpindah layar Mengoptimalkan performa sorting catatan Memperbaiki tampilan catatan layar penuh yang tidak memperbarui status pin Menambahkan null check yang tepat untuk pencarian kategori Memperbaiki perilaku scroll chat AI saat keyboard muncul Meningkatkan efisiensi memori pada LazyColumn dan LazyGrid Penyempurnaan Akhir Memperbarui warna aplikasi dan konsistensi gradien Menambahkan jarak dan padding yang lebih rapi di seluruh UI Mengimplementasikan state hoisting dengan benar untuk performa Menambahkan pesan error yang lebih jelas untuk pengguna Penyempurnaan UI/UX final dan pembersihan kode
4 lines
47 B
Plaintext
4 lines
47 B
Plaintext
# Default ignored files
|
|
/shelf/
|
|
/workspace.xml
|