Hi,
NotesKeeper is a very simple aap that lets you make notes. You can add labels, set reminders , save notes locally using room and also have a backup with firebase. It is a fun project which honestly is not about the app as much as it is about learning how to code in MVVM patterns. I have followed MVVM pattern to write this aap. This is following the Guide to app Architecture.
Dependencies used are :~
- Dagger Hilt
- Room DB
- Navigation Component
- Viewmodel
- Kotlin coroutine
- Gson
- flexbox
- firebase -> datastore, crashlitics, auth
- Datastore (preference)
- Glide
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /testNote/{testNote}{
allow read: if isLoggedIn()
allow update,create: if authIsSame()
allow delete: if isLoggedIn()
}
}
function isLoggedIn(){
return request.auth.uid != null
}
function authIsSame(){
return request.auth.uid == request.resource.data.firebaseUserId
}
}