Compare commits
No commits in common. "b6a6b864117cc5e1ba1fc761c1bbf0020c693e85" and "85a2c65017fbc6a4bd772d6f7341ba4bd627251b" have entirely different histories.
b6a6b86411
...
85a2c65017
111
Readme.md
111
Readme.md
@ -194,93 +194,23 @@
|
|||||||
> Rich Text Editor butuh dikembangkan lagi lebih advance
|
> Rich Text Editor butuh dikembangkan lagi lebih advance
|
||||||
---
|
---
|
||||||
|
|
||||||
## **Sprint 5: AI Assistant Enhancements & Smart Organization Features**
|
## **Fitur Utama Aplikasi**
|
||||||
|
|
||||||
### **Copy Plain Text Feature**
|
* Sistem kategori dengan gradient
|
||||||
* **Dual Copy Options** – Dropdown menu dengan 2 pilihan: "Copy dengan Format" dan "Copy Teks Asli"
|
* Buat/edit/hapus kategori dengan confirmation dialog
|
||||||
* **Smart Markdown Stripper** – Utility untuk remove bold, italic, code, headers, lists, links dari text
|
* Buat/edit/hapus catatan
|
||||||
* **Visual Feedback** – Animated checkmark indicator dengan auto-hide setelah 2 detik
|
* Pin catatan penting (Catatan Berbintang)
|
||||||
* **Format Preservation** – Copy dengan format maintain semua markdown syntax
|
* Full-screen editor
|
||||||
* **Clean Output** – Plain text copy menghasilkan text bersih tanpa formatting apapun
|
* Search kategori di beranda
|
||||||
|
* Search catatan dalam kategori
|
||||||
### **Document Upload & AI Summary**
|
* Arsip & Sampah dengan restore/delete permanen
|
||||||
* **Multi-Format Support** – Upload PDF, TXT, dan DOCX files dengan file picker
|
* AI Chat powered by Gemini
|
||||||
* **Smart PDF Parser** – PDFBox Android integration untuk extract text dari PDF documents
|
* AI membaca & menganalisis catatan pengguna
|
||||||
* **Lightweight DOCX Parser** – Custom XML-based parser tanpa Apache POI dependency
|
* Suggestion chips & copy response
|
||||||
* **Auto-Summary Generation** – AI auto-generate ringkasan maksimal 300 kata saat file di-upload
|
* Filter AI berdasarkan kategori
|
||||||
* **File Validation** – Maximum 10MB dengan clear error messaging untuk setiap kasus
|
* Dark theme & Light theme
|
||||||
* **Loading Integration** – Loading indicator "Membuat ringkasan..." terintegrasi di chat area
|
* Animasi smooth
|
||||||
* **Chat Format** – Upload result format: "📄 Upload file: filename" dengan summary response
|
* Empty states & error handling
|
||||||
|
|
||||||
### **Category Pin System**
|
|
||||||
* **Pin/Unpin Toggle** – Quick access untuk kategori favorit dengan dropdown menu
|
|
||||||
* **Visual Pin Indicator** – 📌 icon dengan scale dan fade animations
|
|
||||||
* **Smart Sorting Logic** – Priority sorting: pinned categories (DESC) → timestamp (DESC)
|
|
||||||
* **Persistent Storage** – Pin status tersimpan di DataStore dengan backward compatibility
|
|
||||||
* **Multiple Pins Support** – User dapat pin multiple categories dengan proper grouping
|
|
||||||
* **Context Menu Integration** – Pin option di dropdown: "Pin Kategori" / "Lepas Pin"
|
|
||||||
|
|
||||||
### **Technical Implementation**
|
|
||||||
* **MarkdownStripper.kt** – Utility class dengan regex-based markdown removal
|
|
||||||
* **FileParser.kt** – Centralized file parsing untuk PDF, TXT, DOCX
|
|
||||||
* **Category Model Update** – Added `isPinned: Boolean` field dengan serialization support
|
|
||||||
* **FileParseResult** – Sealed class untuk type-safe file parsing results
|
|
||||||
* **PDFBoxResourceLoader** – Proper initialization dalam Application.onCreate()
|
|
||||||
* **State Management** – Combined loading states untuk chat dan file upload
|
|
||||||
|
|
||||||
### **User Experience**
|
|
||||||
* **Smooth Transitions** – Loading states dengan color differentiation (Primary vs Secondary)
|
|
||||||
* **Error Handling** – Comprehensive error messages untuk berbagai failure scenarios
|
|
||||||
* **Auto-Scroll** – Scroll to bottom saat upload file untuk show loading indicator
|
|
||||||
* **Disabled States** – Upload button hidden saat processing untuk prevent duplicate actions
|
|
||||||
* **Persistence** – Pin status dan file summary survive app restart
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 🎯 Fitur Utama (Core Features)
|
|
||||||
1. **Note Management System** ⭐ (PRIMARY)
|
|
||||||
|
|
||||||
* Create, Read, Update, Delete catatan
|
|
||||||
* Organize notes dalam categories
|
|
||||||
* Pin notes untuk quick access
|
|
||||||
* Archive & Trash system dengan soft delete
|
|
||||||
* Full-screen rich text editor dengan WYSIWYG
|
|
||||||
* Real-time search & filter notes
|
|
||||||
|
|
||||||
2. **AI Assistant** 🤖 (PRIMARY)
|
|
||||||
|
|
||||||
* Chat dengan AI menggunakan Gemini 2.5 Flash
|
|
||||||
* Context-aware responses berdasarkan notes user
|
|
||||||
* Chat history management dengan persistent storage
|
|
||||||
* Document upload & auto-summary (PDF, TXT, DOCX)
|
|
||||||
* Markdown support untuk AI responses
|
|
||||||
* Copy plain text atau formatted text
|
|
||||||
|
|
||||||
3. **Category Organization** 📁 (CORE)
|
|
||||||
|
|
||||||
* Create & manage categories dengan 8 gradient color presets
|
|
||||||
* Pin favorite categories untuk quick access
|
|
||||||
* Smart sorting: pinned categories → timestamp descending
|
|
||||||
* Category-based note filtering dengan statistics
|
|
||||||
* Staggered grid layout responsive
|
|
||||||
|
|
||||||
4. **Rich Text Editor** ✏️ (CORE)
|
|
||||||
|
|
||||||
* WYSIWYG (What You See Is What You Get) editing experience tanpa raw markdown
|
|
||||||
* Bold, italic, underline, headings (H1-H3), bullet lists
|
|
||||||
* Floating draggable toolbar dengan active state indicators
|
|
||||||
* Undo/Redo functionality
|
|
||||||
* Markdown compatibility untuk import/export
|
|
||||||
* Auto-save lifecycle-aware
|
|
||||||
|
|
||||||
5. **Data Persistence** 💾 (ESSENTIAL)
|
|
||||||
|
|
||||||
* Local storage dengan DataStore Preferences
|
|
||||||
* Auto-save dengan debounce (500ms delay)
|
|
||||||
* Theme preference storage (dark/light mode)
|
|
||||||
* Chat history persistence dengan serialization
|
|
||||||
* Flow-based reactive data loading
|
|
||||||
* Error handling untuk semua I/O operations
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -294,13 +224,8 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
## **Features for Sprint 4 v1.1.0**
|
## **Features for Sprint 4 v1.1.0**
|
||||||
|
|
||||||
* Penyesuaian UI/UX History Chat AI (ok)
|
* Penyesuaian UI/UX History Chat AI (ok)
|
||||||
* Rich text editor (ok - Harus Pengembangan Lanjutan)
|
* Rich text editor (ok - Harus Pengembangan Lanjutan)
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## **Features for Sprint 5 v1.1.0**
|
|
||||||
* Fungsi AI (Upload File) (ok)
|
* Fungsi AI (Upload File) (ok)
|
||||||
* Fitur Sematkan Category, otomatis paling atas (ok)
|
* Fitur Sematkan Category, otomatis paling atas
|
||||||
|
|
||||||
## **Unit Testing is Coming**
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user