Skip to content
Sanketh B K edited this page Sep 22, 2024 · 2 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 three feature folders:

  1. Auth: Contains all the code related to user authentication, including email and password, PIN, and fingerprint login.
  2. Notes: Contains all the code related to CRUD operations for notes.
  3. Sync: Contains all the code related to syncing notes to cloud platforms. Currently, we support Google Drive, Dropbox, and Nextcloud.

You can find more information about each feature on its respective wiki page.

The project contains two build flavors:

  1. master: This is the version released on Google Play.
  2. 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.

Libraries used

  1. Flutter bloc for state management
  2. FlutterQuill for rich text editor
  3. Flutter Local Auth Invisible for fingerprint login
  4. Dartz for functional programming
  5. SQFLite as local database
Clone this wiki locally