A production-ready Android application built with Kotlin and XML layouts, featuring seamless sync with Supabase and offline support.
- Architecture: MVVM (ViewModel + StateFlow)
- Database: Room (Offline cache)
- Backend: Supabase (Auth, Postgrest, Realtime)
- DI: Hilt (Dagger-Hilt)
- Navigation: Jetpack Navigation Component
- UI: Material Design 3 (Material You)
- Android Studio Iguana (or newer)
- A Supabase project with
notesandfolderstables.
Open local.properties in the root directory and add your Supabase credentials:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key- Sync the project with Gradle files.
- Run the app on a Pixel 6 (API 34) emulator or a physical device.
- Offline Sync: Create, edit, or delete notes while offline; they sync automatically when you're back online.
- Realtime Collaboration: Instant updates across Web, iOS, and Android via Supabase Realtime.
- Rich Text: Notes support HTML-based formatting for cross-platform compatibility.
- Theming: Supports Light, AMOLED Dark, and Nature Green (via system palette).
ui/: Fragments and ViewModels organized by feature.data/: Local (Room) and Remote (Supabase) data sources and repositories.domain/: Business logic models and repository interfaces.util/: SyncManager, Connectivity observer, and HTML converters.