-
Notifications
You must be signed in to change notification settings - Fork 90
Home
SankethBK-eltropy edited this page Aug 23, 2026
·
3 revisions
Welcome to the DiaryVault wiki!
The whole project is structured using the Domain-Driven Design pattern. You can read more about the Domain-Driven Design pattern here.
Currently, we have four feature folders:
- Auth: Contains all the code related to user authentication, including email and password, PIN, and fingerprint login.
- Notes: Contains all the code related to CRUD operations for notes.
- Sync: Contains all the code related to syncing notes to cloud platforms. Currently, we support Google Drive, Dropbox, and Nextcloud.
- Encryption: Contains all the code related to opt-in, per-note end-to-end encryption - key derivation, key wrapping, the encrypted notes vault, and multi-device passphrase semantics. See Encryption.
You can find more information about each feature on its respective wiki page.
The project contains two build flavors:
- master: This is the version released on Google Play.
- foss_master: This is the version released on IzzyOnDroid. The difference between the master and foss_master flavors is that master uses Firebase for user authentication, password reset support, and provides Google Drive as a cloud backup. The main goal of foss_master is to remove all proprietary libraries from Google. It uses Appwrite for user authentication and password reset support, and doesn't include Google Drive as a cloud backup.
- Flutter bloc for state management
- FlutterQuill for rich text editor
- Flutter Local Auth Invisible for fingerprint login
- Dartz for functional programming
- SQFLite as local database