Compare commits
2 Commits
85a2c65017
...
b6a6b86411
| Author | SHA1 | Date | |
|---|---|---|---|
| b6a6b86411 | |||
| 76ec4eb667 |
111
Readme.md
111
Readme.md
@ -194,23 +194,93 @@
|
|||||||
> Rich Text Editor butuh dikembangkan lagi lebih advance
|
> Rich Text Editor butuh dikembangkan lagi lebih advance
|
||||||
---
|
---
|
||||||
|
|
||||||
## **Fitur Utama Aplikasi**
|
## **Sprint 5: AI Assistant Enhancements & Smart Organization Features**
|
||||||
|
|
||||||
* Sistem kategori dengan gradient
|
### **Copy Plain Text Feature**
|
||||||
* Buat/edit/hapus kategori dengan confirmation dialog
|
* **Dual Copy Options** – Dropdown menu dengan 2 pilihan: "Copy dengan Format" dan "Copy Teks Asli"
|
||||||
* Buat/edit/hapus catatan
|
* **Smart Markdown Stripper** – Utility untuk remove bold, italic, code, headers, lists, links dari text
|
||||||
* Pin catatan penting (Catatan Berbintang)
|
* **Visual Feedback** – Animated checkmark indicator dengan auto-hide setelah 2 detik
|
||||||
* Full-screen editor
|
* **Format Preservation** – Copy dengan format maintain semua markdown syntax
|
||||||
* Search kategori di beranda
|
* **Clean Output** – Plain text copy menghasilkan text bersih tanpa formatting apapun
|
||||||
* Search catatan dalam kategori
|
|
||||||
* Arsip & Sampah dengan restore/delete permanen
|
### **Document Upload & AI Summary**
|
||||||
* AI Chat powered by Gemini
|
* **Multi-Format Support** – Upload PDF, TXT, dan DOCX files dengan file picker
|
||||||
* AI membaca & menganalisis catatan pengguna
|
* **Smart PDF Parser** – PDFBox Android integration untuk extract text dari PDF documents
|
||||||
* Suggestion chips & copy response
|
* **Lightweight DOCX Parser** – Custom XML-based parser tanpa Apache POI dependency
|
||||||
* Filter AI berdasarkan kategori
|
* **Auto-Summary Generation** – AI auto-generate ringkasan maksimal 300 kata saat file di-upload
|
||||||
* Dark theme & Light theme
|
* **File Validation** – Maximum 10MB dengan clear error messaging untuk setiap kasus
|
||||||
* Animasi smooth
|
* **Loading Integration** – Loading indicator "Membuat ringkasan..." terintegrasi di chat area
|
||||||
* Empty states & error handling
|
* **Chat Format** – Upload result format: "📄 Upload file: filename" dengan summary response
|
||||||
|
|
||||||
|
### **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
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -224,8 +294,13 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
## **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
|
* Fitur Sematkan Category, otomatis paling atas (ok)
|
||||||
|
|
||||||
|
## **Unit Testing is Coming**
|
||||||
Loading…
x
Reference in New Issue
Block a user