How ttthu-huong/smart-note-app-qa works
Smart Note App is a Flutter offline-first notes product. Users create and organize rich-text, image, audio, checklist, and drawing notes; notes are stored locally and synchronized to Firebase when connectivity returns. The product also provides search, archive/trash and labels, Gemini-assisted note transformations, biometric privacy, reminders, and PDF export. The README documents the broad UI/state/service layering and major integrations, but source excerpts do not expose runtime call sites, so internal edges are limited to documented relationships.
Main entry points: screens Note screens · providers State providers · repositories Repositories · editor Editor controls
Components 18
Notes experience
- Note screens
lib/screens - Editor controls
lib/features/editor - Shared widgets
lib/widgets
Application logic
- State providers
lib/providers - Note models
lib/models
Persistence and sync
- Repositories
lib/repositories - SQLite storage
lib/services/local_note_service.dart - Cloud Firestore
lib/services/firestore_note_service.dart - Sync service
- Firebase Auth
Note capabilities
- Full-text search
lib/screens/search_screen.dart - Gemini assistant
lib/services/gemini_ai_service.dart - Media attachments
lib/services/cloudinary_service.dart - Drawing board
lib/screens/drawing_screen.dart - Biometric lock
lib/services/biometric_service.dart - PDF export
lib/services/pdf_export_service.dart - Reminders
lib/services/reminder_service.dart
Other components
- Note taker
Connections 16
- Note taker → Note screens: creates notes
README.md - Note screens → Editor controls: edits content
README.md - Note screens → State providers: uses state
README.md - State providers → Note models: manages notes
README.md - State providers → Repositories: delegates data
- Repositories → SQLite storage: stores offline
- Repositories → Sync service: coordinates sync
- Sync service → Cloud Firestore: syncs notes
- Note taker → Firebase Auth: authenticates
README.md - Note taker → Full-text search: searches notes
README.md - Note taker → Gemini assistant: requests assistance
README.md - Note taker → Media attachments: adds images
README.md - Note taker → Drawing board: draws notes
README.md - Note taker → Biometric lock: locks notes
README.md - Note taker → PDF export: exports notes
README.md - Note taker → Reminders: sets reminders