An offline-first note-taking application with real-time cloud synchronization, built with Flutter and powered by Sqflite + Firebase.
| Notes List | Create Note | Dark Mode |
|---|---|---|
![]() |
![]() |
lib/ βββ core/ β βββ themes/ # Light & Dark theme configurations β βββ constants/ # App-wide constants β βββ utils/ # Helper functions βββ data/ β βββ models/ # Note model with toJson/fromJson β βββ local/ # Hive/SQLite data source β βββ remote/ # Firebase/Supabase data source βββ logic/ β βββ cubit/ # NotesCubit, ThemeCubit βββ presentation/ β βββ screens/ # Home, Create, Edit, Search screens β βββ widgets/ # Reusable UI components βββ main.dart
| Category | Technology |
|---|---|
| Framework | Flutter 3.x |
| State Management | BLoC / Cubit |
| Local Storage | Hive / SQLite |
| Cloud Sync | Firebase Firestore |
| Architecture | Clean Architecture |
| Theming | Material Design 3 |
- β Offline-First: Full functionality without internet connection
- β Cloud Sync: Automatic synchronization when connectivity is restored
- β Zero Data Loss: Conflict resolution ensures no notes are ever lost
- β Search & Filter: Instant search across all notes with optimized indexing
- β Dark/Light Theme: Smooth theme switching with system preference support
- β Rich Text: Support for formatted notes with categories and colors
- β CRUD Operations: Create, Read, Update, Delete with undo support
- π± Handles 1000+ notes with smooth scrolling
- β‘ < 500ms sync latency when connectivity restored
- πΎ Efficient local storage with Hive (NoSQL, zero-overhead)
- π Background sync without blocking UI
# Clone
git clone https://github.com/asherifo/sync-notes.git
cd sync-notes
# Install dependencies
flutter pub get
# Run
flutter run
