AI Notes Changelog

Tim Pengembang

  • Dendi Yogia Pratama
  • Raihan Ariq Muzakki
  • Fazri Abdurrahman

Version 1.0.0 Initial Release

Sprint 1: Struktur Dasar Aplikasi

Struktur & Navigation

  • Setup navigation system - Implementasi routing antar halaman (Beranda, Arsip, Sampah)
  • Menu Drawer - Navigation drawer dengan list menu (Beranda, Berbintang, Arsip, Sampah)
  • Bottom Navigation - Home & AI Helper tabs dengan icon navigation
  • Top App Bar - Menu hamburger dan search icon dengan Material3 styling
  • Screen Architecture - Pembuatan screen Arsip, Sampah, Berbintang, AI Helper

Theme & Styling

  • Material3 Dark Theme - Setup color scheme dengan dark mode default
  • Color System - Primary/Secondary colors dengan gradient presets (8 kombinasi warna)
  • Consistent Design - Rounded corners (12dp, 16dp, 20dp), shadow, elevation
  • Smooth Animations - Drawer slide, FAB scale, card transitions dengan spring animations
  • Typography System - Optimasi font sizes dan line heights untuk readability

Category Management

  • Category Model - Data class dengan gradient colors dan timestamp
  • Category Dialog - Form tambah/edit kategori dengan nama + gradient picker
  • Category Card - Design dengan icon folder, nama, jumlah catatan, gradient background
  • Staggered Grid Layout - 2 kolom responsive dengan LazyVerticalStaggeredGrid
  • Category Actions - Menu dropdown (⋮) untuk edit dan delete kategori
  • Empty State - Pesan "Buat kategori pertama Anda" dengan icon

Note Management

  • Note Model - Data class dengan title, content, timestamp, isPinned, isArchived
  • Note Dialog - Form dengan judul, deskripsi, simpan, batal, hapus
  • Note Card - Preview dengan judul, deskripsi, timestamp, pin icon
  • Full-screen Editor - Editable note view dengan auto-save dan actions
  • Pin Feature - Toggle pin/unpin untuk catatan penting dengan sorting priority
  • Archive & Delete - Actions untuk arsip dan soft delete notes
  • Search Functionality - Real-time search berdasarkan judul dan isi (case-insensitive)
  • Smart Sorting - Berdasarkan pin status dan timestamp (descending)

AI Assistant

  • Gemini AI Integration - Setup Google Generative AI SDK dengan gemini-2.5-flash
  • AI Helper Screen - Layout chat interface dengan header dan statistics
  • Category Context Selector - Dropdown untuk filter konteks AI berdasarkan kategori
  • Statistics Display - Total catatan, pinned notes, jumlah kategori
  • Chat Interface - User & AI bubble dengan different styling dan timestamp
  • Prompt Engineering - Context builder dengan data catatan user (max 10 terbaru)
  • Suggestion Chips - Quick question templates untuk user guidance
  • Copy to Clipboard - Copy jawaban AI dengan confirmation feedback
  • Loading & Error States - Circular progress indicator dan error messages
  • API Configuration - Temperature 0.8, topK 40, topP 0.95, maxOutputTokens 4096
  • Auto-scroll Chat - Scroll ke bottom otomatis dengan LaunchedEffect

Data Persistence

  • DataStore Implementation - Preferences DataStore untuk local storage
  • DataStoreManager Class - Centralized dengan categoriesFlow & notesFlow
  • Auto-save dengan Debounce - 500ms delay untuk optimize I/O operations
  • Flow-based Loading - Reactive data loading dengan Flow collection
  • Error Handling - Try-catch untuk semua I/O operations
  • Serializable Models - JSON serialization dengan extension functions

UI/UX Enhancements

  • Visual Feedback - Click ripples, copy confirmation, loading states
  • Empty States - Icon + descriptive messages untuk setiap screen
  • Confirmation Dialogs - AlertDialog untuk arsip, hapus, delete actions
  • Search Empty State - "Tidak ada hasil" message saat search kosong
  • Custom TextField - Styled text input dengan consistent design
  • Date Formatter Utility - Format timestamp ke readable Indonesian format

Sprint 2: Project Restructuring & Advanced Features

Project Architecture

  • Clean Architecture Migration - Dari 3 file monolith ke modular structure
  • Data Layer Separation - Models ke data/model/ (Category, Note, ChatMessage)
  • Local Storage Layer - DataStoreManager ke data/local/ dengan PreferencesKeys
  • Component Extraction - Screen components ke folder terpisah (main, starred, archive, trash)
  • Utilities Creation - Constants.kt, DateFormatter.kt, Extensions.kt untuk reusability
  • Import Optimization - Update semua import sesuai package structure baru

Search & Filter

  • Beranda Search - Real-time search kategori berdasarkan nama
  • Category Notes Search - Search catatan di dalam kategori (judul & isi)
  • Search Filtering - Live filtering saat user mengetik
  • Search Empty State - Descriptive message dengan alternative suggestions

Category Features

  • Edit Category - Dialog untuk ubah nama dan gradient dengan pre-filled form
  • Delete Category - Menu dropdown dengan confirmation dialog
  • Category Actions Menu - Icon ⋮ untuk access edit & delete options
  • Gradient Preview - Visual preview saat edit kategori

Trash System

  • Soft Delete Implementation - isDeleted flag untuk Category dan Note
  • Trash Screen - Tampilkan kategori & notes yang terhapus
  • TrashCategoryCard Component - Card khusus dengan restore & delete permanent actions
  • Restore Feature - Pulihkan kategori beserta semua notes di dalamnya
  • Permanent Delete - Hapus kategori dan notes secara irreversible dengan confirmation
  • Counter Display - Jumlah items terhapus di trash
  • Global Filter - Filter !isDeleted di semua screen untuk hide deleted items

Bug Fixes & Optimization

  • Runtime Error Debugging - Fix NotImplementedError & FATAL EXCEPTION issues
  • Google Play Services Handling - Error handling untuk GMS dependencies
  • Component Migration - Update deprecated Divider ke HorizontalDivider
  • Gradle Optimization - Cleanup unnecessary dependencies
  • State Management - Proper state hoisting dan recomposition optimization

Documentation

  • Migration Guide - Step-by-step panduan untuk project restructuring
  • Debugging Guide - Troubleshooting common issues dan error handling

Version 1.1.0 AI Helper Screen Enhancement & UI Refinement

Sprint 3: AI Helper Screen Features & Modern UI Redesign

AI Assistant Enhancements

  • History Chat AI dengan Drawer Menu - Riwayat percakapan AI tersimpan permanen, dikelompokkan per kategori
  • Chat History Management - Load previous chat, delete history, start new chat dengan auto-save
  • Markdown Parser untuk AI Response - Support bold, italic, code blocks, headers, lists, quotes, links
  • Improved Error Handling - User-friendly error messages untuk quota, network, API issues
  • Gemini Model Update - Switch ke gemini-1.5-flash untuk stabilitas optimal

Theme System

  • Dark/Light Theme Toggle - Dual theme dengan persistent storage di drawer menu
  • Reactive Color System - Dynamic color switching untuk semua components
  • Complete Color Palette - DarkColors dan LightColors objects untuk consistency

UI/UX Modernization

  • Floating Design System - TopBar dan BottomBar dengan floating style, rounded corners, shadow
  • Consistent Component Style - Unified design language dengan CircleShape buttons
  • Optimized Layouts - Better spacing dan vertical action stack untuk maximize content space

Data & Navigation

  • Note Edit & Delete from Card - Menu dropdown pada NoteCard untuk quick actions
  • Race Condition Fix - Guard flags dan lifecycle-aware auto-save untuk data persistence
  • Simplified Navigation - Unified drawer menu, remove redundant back buttons
  • Extended DataStore - Support chat history, theme preference, improved error handling

Fitur Utama Aplikasi

  • Sistem kategori dengan gradient
  • Buat/edit/hapus kategori dengan confirmation dialog
  • Buat/edit/hapus catatan
  • Pin catatan penting
  • Full-screen editor
  • Search kategori di beranda
  • Search catatan dalam kategori
  • Arsip & Sampah dengan restore/delete permanen
  • AI Chat powered by Gemini
  • AI membaca & menganalisis catatan pengguna
  • Suggestion chips & copy response
  • Filter AI berdasarkan kategori
  • Dark theme modern + gradient
  • Animasi smooth
  • Empty states & error handling

Features for Sprint 3 v1.1.0

  • History Chat AI berdasarkan Catatan yang ada didalam kategori dalam bentuk Drawer Menu di AI Helper (ok)
  • Mengganti Preview Deskripsi NoteCard dan NoteDialog (ok)
  • Dark/Light theme toggle (ok)
  • Markdown Parser (ok)

Features for Sprint 4 v1.1.0

  • Penyesuaian UI/UX History Chat AI
  • Rich text editor
  • AI Agent Catatan
  • Fungsi AI (Upload File)
  • Fitur Sematkan Category, otomatis paling atas
Description
No description provided
Readme 651 KiB
Languages
Kotlin 100%