From 7a11b4a517b6f0edd7826d74f9743b3fa81afdc9 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya <136002730+JeelDobariya38@users.noreply.github.com> Date: Sun, 18 Aug 2024 20:04:38 +0530 Subject: [PATCH 1/5] Update README.md --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 9d7a4fad..95277aff 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,16 @@ A android app that take down the headace of remember passwords. It is open sourc 2. Download the apk for your phone. If Don't know the architecture of phone then download apk file that has universal in its name. 3. Install the apk and you are ready to use the app. +## Building The App + +1. Clone the repository on your machine. + +2. Open the project own your Android Studio. + +3. Follow the general step and build the app. + +4. For code documention and support docs, check the `docs/` folder in our repository. You can even seek help on your [telegram community](https://t.me/passwordmanagercommunity) + ## Contribution Are Appicated!!! By, contribuating to project you accept the [CONTRIBUTING.md](CONTRIBUTING.md) & [MIT License](LICENSE.txt). From f91a20b6661864d14acd2897afcbb3b01a27accb Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sun, 18 Aug 2024 21:32:29 +0530 Subject: [PATCH 2/5] refactor: add viewbinding as dependency --- app/build.gradle | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 62a6b94b..67eed081 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -13,10 +13,6 @@ android { versionCode 1 versionName "0.1.0-Alpha" } - - viewBinding { - enabled = true - } signingConfigs { release { @@ -64,9 +60,14 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + + buildFeature { + viewBinding true + } } dependencies { implementation 'com.google.android.material:material:1.9.0' implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'androidx.databinding:viewbinding:7.4.1' } From 8cffd855a885fd4b99b08e4c007ec417e42f3f9d Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sun, 18 Aug 2024 21:50:59 +0530 Subject: [PATCH 3/5] refactor/docs: make info limited to current db version --- docs/database-design-guide.md | 86 ++++------------------------------- 1 file changed, 10 insertions(+), 76 deletions(-) diff --git a/docs/database-design-guide.md b/docs/database-design-guide.md index d59cb35a..e622c91c 100644 --- a/docs/database-design-guide.md +++ b/docs/database-design-guide.md @@ -7,40 +7,7 @@ In this file, You will find the general structure & format in which app stores u > [!NOTE] > Database schema versioning system is completely serperte from the app versioning system. -**Database**: Sqlite3(`master.db`), Jsonfile(`sys.db`) - -## sys.db -sys.db is system db in json file where we store all the important data specfic to app and this data is usefull, during the schema updation process. this info is use by app updation module to change db schema when jump from one version to another. - -> [!IMPORTANT] -> System database schema must not be alter between the app version. -> It allowed to add data but, not allowed to remove existing as different version of app rely on same data for there effective operation. - -```json -{ - "app-name": "password-manager", - "app-version": "v0.0.0-Alpha", - "db-schema-version": "v1", - "installed-at": "dd/mm/yy", - "update-at": [ - { - "from": "v0.0.0-alpha", - "to": "v0.1.0-Alpha", - "on": "dd/mm/yy" - } - ], - "app-setting": { - "extensive-mode": false, - "prefer-dark-mode": true, - "external-db": { - "uri": "postgresql://username:password@host:port/dbname[?paramspec]", - "server": "postgresql" - .... - } - } - .... -} -``` +**Database**: Sqlite3(`master.db`) ## master.db @@ -48,40 +15,6 @@ It is a database where user info is stored. It schema changes often between the --- -### In Future (v2) - -| Tables | Description | -| ----------- | ---------------------------- | -| `users` | For storing user entity. | -| `passwords` | For storing password entity. | - -#### users table - -| Fields | Property | Constraints | Description | -| ----------- | ----------- | ------------------------------ | ---------------------------------------------------------- | -| `id` | Number | PRIMARY KEY | -- | -| `username` | VarChar(40) | NOT NULL | domain name to which password enitity is associated with | -| `password` | VarChar(60) | NOT NULL | username on that domain. email can be also used as a value | -| `type` | VarChar(60) | Enum['sys', 'admin', 'normal'] | password on that domain | -| `createdat` | Date | -- | -- | - -#### passwords table - -| Fields | Property | Constraints | Description | -| ----------- | ----------- | ------------------ | ---------------------------------------------------------- | -| `id` | Number | PRIMARY KEY | -- | -| `domain` | VarChar(40) | NOT NULL | domain name to which password enitity is associated with | -| `username` | VarChar(60) | NOT NULL | username on that domain. email can be also used as a value | -| `password` | VarChar(60) | NOT NULL | password on that domain | -| `createdat` | Date | -- | -- | -| `updatedat` | Date | -- | -- | -| `ownby` | users(id) | FORIGN KEY | -- | - -#### Implementation. -create a defualt user called (101, "passcoder", "qwerty", "sys", "05/08/24") and make all passwords as own by him. - ---- - ### Current Database Design (v1) | Tables | Description | @@ -90,11 +23,12 @@ create a defualt user called (101, "passcoder", "qwerty", "sys", "05/08/24") and #### passwords table -| Fields | Property | Constraints | Description | -| ----------- | ----------- | ------------------ | ---------------------------------------------------------- | -| `id` | Number | PRIMARY KEY | -- | -| `domain` | VarChar(40) | NOT NULL | domain name to which password enitity is associated with | -| `username` | VarChar(60) | NOT NULL | username on that domain. email can be also used as a value | -| `password` | VarChar(60) | NOT NULL | password on that domain | -| `createdat` | Date | -- | -- | -| `updatedat` | Date | -- | -- | +| Fields | Property | Constraints | Description | +| ----------- | ------------ | ------------------------------ | -------------------------------------------------------------------- | +| `id` | Integer | PRIMARY KEY, AUTOINCREMENT | -- | +| `domain` | VarChar(40) | NOT NULL | domain/platform name to which password enitity is associated with. | +| `username` | VarChar(60) | NOT NULL | username on that domain/platform. email can be even used as a value. | +| `password` | VarChar(60) | NOT NULL | password on that domain/platform | +| `notes` | VarChar(100) | -- | -- | +| `createdat` | Date | DEFAULT CURRENT_TIMESTAMP | -- | +| `updatedat` | Date | DEFAULT CURRENT_TIMESTAMP | -- | From 1d588b6afc1c1778d35b10e166e7a45ee3a15fb2 Mon Sep 17 00:00:00 2001 From: Achmad Daniel Syahputra Date: Tue, 20 Aug 2024 00:15:31 +0700 Subject: [PATCH 4/5] chore: remove deps remove unused databinding dependencies --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 67eed081..472dfbcf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,5 +69,5 @@ android { dependencies { implementation 'com.google.android.material:material:1.9.0' implementation 'androidx.appcompat:appcompat:1.6.1' - implementation 'androidx.databinding:viewbinding:7.4.1' + //implementation 'androidx.databinding:viewbinding:7.4.1' } From 2e77a54025bbbf60628c511711e69355316be6d9 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya <136002730+JeelDobariya38@users.noreply.github.com> Date: Tue, 20 Aug 2024 10:37:47 +0530 Subject: [PATCH 5/5] Update build.gradle --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 472dfbcf..28117db7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,5 +69,5 @@ android { dependencies { implementation 'com.google.android.material:material:1.9.0' implementation 'androidx.appcompat:appcompat:1.6.1' - //implementation 'androidx.databinding:viewbinding:7.4.1' + implementation 'androidx.databinding:viewbinding:7.4.1' }