From de7de3638c939520cc57a89d41f4c8c3f9d2d5e0 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Tue, 16 Sep 2025 20:41:07 +0530 Subject: [PATCH 01/32] fix(docs): url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4795b0b..d6cb0c1 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This repository contains Developers Docs, Support Docs & User Guide For Passcode > The Docs might have outdated (behind time) or forward (ahead of time) info (may be by a week).. > So, it always good to verify stuff.. by see the code... because we as developer of passcodes focus on code.. and documenation is our second priority.. -We recommend using / opening, this docs in [obsidian.md](obsidian.md) for better exprience in navigating as It made in obsidian app.. +We recommend using / opening, this docs in [obsidian.md](https://obsidian.md) for better exprience in navigating as It made in obsidian app.. if you thing you gonna use it a lot otherwise in github in browser is fine as well. From d1a7fc2d9b974f69f5ad9b1875bd0fbc9fa45f24 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Tue, 16 Sep 2025 21:11:00 +0530 Subject: [PATCH 02/32] chore: add gitignore... --- .gitignore | 1 + README.md | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f6b6248 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.obsidian/ diff --git a/README.md b/README.md index d6cb0c1..d9cfc47 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@ This repository contains Developers Docs, Support Docs & User Guide For Passcode > The Docs might have outdated (behind time) or forward (ahead of time) info (may be by a week).. > So, it always good to verify stuff.. by see the code... because we as developer of passcodes focus on code.. and documenation is our second priority.. -We recommend using / opening, this docs in [obsidian.md](https://obsidian.md) for better exprience in navigating as It made in obsidian app.. - -if you thing you gonna use it a lot otherwise in github in browser is fine as well. +We recommend using / opening, this docs in [obsidian.md](https://obsidian.md) for better experience in navigating as It made in obsidian app.. +if you thing you gonna use it a lot otherwise in GitHub in browser is fine as well. From 4c48d5f8af54334aa7bb6dac5b963996d979261c Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Tue, 16 Sep 2025 21:16:32 +0530 Subject: [PATCH 03/32] docs(github): add rule set .json for easy access.. --- .gitignore | 1 + .../rulesets/Main as Production Env(1).json | 47 +++++++++++++++++++ .../rulesets/Release Protection.json | 25 ++++++++++ 3 files changed, 73 insertions(+) create mode 100644 new repo essentials/rulesets/Main as Production Env(1).json create mode 100644 new repo essentials/rulesets/Release Protection.json diff --git a/.gitignore b/.gitignore index f6b6248..dcbb020 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .obsidian/ + diff --git a/new repo essentials/rulesets/Main as Production Env(1).json b/new repo essentials/rulesets/Main as Production Env(1).json new file mode 100644 index 0000000..6d712aa --- /dev/null +++ b/new repo essentials/rulesets/Main as Production Env(1).json @@ -0,0 +1,47 @@ +{ + "id": 1336632, + "name": "Main as Production Env", + "target": "branch", + "source_type": "Repository", + "source": "PasscodesApp/Passcodes", + "enforcement": "active", + "conditions": { + "ref_name": { + "exclude": [], + "include": [ + "~DEFAULT_BRANCH" + ] + } + }, + "rules": [ + { + "type": "deletion" + }, + { + "type": "non_fast_forward" + }, + { + "type": "pull_request", + "parameters": { + "required_approving_review_count": 1, + "dismiss_stale_reviews_on_push": false, + "require_code_owner_review": false, + "require_last_push_approval": true, + "required_review_thread_resolution": false, + "automatic_copilot_code_review_enabled": false, + "allowed_merge_methods": [ + "merge", + "squash", + "rebase" + ] + } + } + ], + "bypass_actors": [ + { + "actor_id": null, + "actor_type": "OrganizationAdmin", + "bypass_mode": "pull_request" + } + ] +} \ No newline at end of file diff --git a/new repo essentials/rulesets/Release Protection.json b/new repo essentials/rulesets/Release Protection.json new file mode 100644 index 0000000..afa0094 --- /dev/null +++ b/new repo essentials/rulesets/Release Protection.json @@ -0,0 +1,25 @@ +{ + "id": 1443670, + "name": "Release Protection", + "target": "tag", + "source_type": "Repository", + "source": "PasscodesApp/Passcodes", + "enforcement": "active", + "conditions": { + "ref_name": { + "exclude": [], + "include": [ + "~ALL" + ] + } + }, + "rules": [ + { + "type": "deletion" + }, + { + "type": "non_fast_forward" + } + ], + "bypass_actors": [] +} \ No newline at end of file From 19ec6e1c44e159dc2800194d0f29a125fe5a0594 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Tue, 16 Sep 2025 21:19:58 +0530 Subject: [PATCH 04/32] chore: structure --- .../rulesets/Main as Production Env(1).json | 0 .../rulesets/Release Protection.json | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {new repo essentials => essentials}/rulesets/Main as Production Env(1).json (100%) rename {new repo essentials => essentials}/rulesets/Release Protection.json (100%) diff --git a/new repo essentials/rulesets/Main as Production Env(1).json b/essentials/rulesets/Main as Production Env(1).json similarity index 100% rename from new repo essentials/rulesets/Main as Production Env(1).json rename to essentials/rulesets/Main as Production Env(1).json diff --git a/new repo essentials/rulesets/Release Protection.json b/essentials/rulesets/Release Protection.json similarity index 100% rename from new repo essentials/rulesets/Release Protection.json rename to essentials/rulesets/Release Protection.json From 14116bec5f2dd71f17505b3c50edabd83d22dd1c Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Tue, 16 Sep 2025 21:22:27 +0530 Subject: [PATCH 05/32] docs: project-overview.md --- project-overview.md | 93 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 project-overview.md diff --git a/project-overview.md b/project-overview.md new file mode 100644 index 0000000..83687d5 --- /dev/null +++ b/project-overview.md @@ -0,0 +1,93 @@ +# Passcodes Project + +An app that take down your headache of remembering password and auth related sensitive information in your head.. It is a secure and robust solution that not only, let you store password in a local storage. but also make the experience, much more fun and initiative.. + +## Outline + +- [Problem Statement](#problem-statement) +- [Goals](#goals) +- [Target Users](#target-users) +- [Priority](#priority) + +## Problem Statement + +In modern days, data is important, especially data that has concern with auth information.. and store them securely is a serious task (and much of headache). Passcodes try to eliminate this headache. by provide you a simple, sweet and initiative ui that help you store your password in local storage. (and to extend also in cloud). `which means, you have full control of data you share with passcodes app`. + +## Goals + +- To make password management process much more intuitive, enjoying, customizable & secure. By give you full (or utter more) control over your auth data. (that is shared or stored in passcodes app). +- To simplify password management, yet give extensive control to end users. +- To serve as guide, reference & extensible tool, for all people (nerds) who are interested in making there password management workflow, much more safe, secure and customizable. + +## Target Users + +1. `Not So Developer, Not So Normal-End-User` First: + + Which means, + + - For those, who wish to optimize, there password management workflow.. but don;t how to... + - For those, who are willing to spend time learning a tool (specifically for password management) & for those how are willing to uncover (disambiguate) abstraction that app uses to make the experience of storing passwords with passcode much more simpler... + - For those, who are willing to gain control of there auth data, without that extra headache of remember data that comes with it... + - For those, who don't mind researching and squirm through our documentation for hrs, just for once in a while, to customize & optimize their password management workflow... + +2. `Software Engineer` is our second target users: + + Which means, + + - the source code of the app, will much more likely to be clean, maintainable and extensible... + - developers can make the app, in way they need... we will also have documentation that one can follow & learn from, about how to extend passcodes app... + +3. `End Users` are the least target of application: + + Which means, + + - that the app will made in such way, in which we will try to abstract away the complex concepts in different extensible/decoupled systems... such that end users will more like feel that they are using a simple. but, secure password managing app... + - if you fall in this category of target users, then it more like that you will either not use the app to it full potential, or more like you will became password management nerd, as app is full optimized to promote customization and optimization of your password management workflow... + - Also, it more like a way to start using/integrating passcodes app into your daily password management workflow... but if wanna continue, then we recommend you, to try learn about your specific password management workflow and make yourself prompted from just normal end user to a more, better group (as in `Not So Developer, Not So Normal-End-User` group).. which will make you, the first target of app... which also mean that you will likely use app more effectively and will (at somepoint) end up optimizing your password management workflow, to make it more secure and customized to your specific needs... + +--- + +## Priority + +### `Customization & Extensibility is our top most priority, While simplicity is just not!!`: + +Which means app will be fully (or to it most) be extensible & customizable, without limited by any abstraction and simplification of app. We as developer will try to make the internals of app more abstract and decoupled and thus, customizable. meanwhile doing we might loss simplicity.. and the UI/UX might look more complex then need... + +Simplicity is not priority of the passcodes app. but abstracting concepts from users (as much as possible) surely is... + +## `Security is our second most priority, While performance is just not!!` + +Which clearly mean that app might have a ten different redundant, in software checks for data and user input. to ensure a robust operation.. This check might add performance overhead.. but as performance is not our priority, we might ignore this performance overhead, as we focus more on security, robustness and extensibility. + +Also, performance is not even a thing, we consider optimizing for, while making passcodes app. and it's done for better or for worse. as passcodes app is not use daily. and also we believe, that security concerns associated wih password management app is more important then any performance issue ever arise can, and sure in modern work we have high speed computer and three different redundant check won;t hurt. but an app crash or data corruption might, As the data app deals with is highly sensitive, consider end user might end up save all there account form different platform at one place.... And sure a user can wait for 2 or 3 minutes if app is not responding and doing some redundant checks just ensure data is valid... + +But that sure doesn't mean we will not focus on performance... if it became a serious issue we will try our best to solve the performance issues... but it just that, we might end up wait until something goes seriously go wrong with performance!! (e.g. app take time, to process a simple single store password action.. for straight 1 minute...) + +## Motivation + +We have pretty good and decent motivation that drive us forward, there are many previous project that back passcodes app... that were made piously by me(jeeldobariya38) and fellow contributor... + +### Kupass + +Github REPO: [Kupass](https://github.com/kudanilll/kupass). + +#### Overview + +It a simple much more intuitive password management solution.. develop by fellow contributor, daniel (@kudanill). It is one of recommended solution if you want to have easy to use app.. and don't need complexity and customization that passcodes offer you. as it simple ant intuitive.. it very much more secure as it all in your local storage... + +#### Why Quit? + +Daniel, the official owner of project, has stop provide further update as his priority change... there was no real design issue with project... it just that project was more made for eduaitional purpose and prototyping, hobby kind of purpose. + +### Smart Manager + +Github REPO: [Smart Manager](https://github.com/JeelDobariya38/Smart-Manager) + +#### Overview + +It was my first project in world of password manager and also in world of software engineering... it mostly a project, where i have made a lots of design mistakes... and try to make the code scalable and extensible and try implementing various stuff, that just don't fit together.. it perfect example, of use everything someone say is a community standard, without ever questioning why am i using it or wether is it worth adding to project.... it like if someone said use dependency injection make code better... then let just use it in our project.... + +#### Why Quit? + +The project suffer from major design issue that, I realized very later, in project timeline. it happens to reach to the point where the code was literally just mess and it just don;t have core features... so i thing to dump the app, and idea as whole... never really thought that i might come back to same idea a year after and use it to build a app in android... + From 82fcfffd9e410c297c852ab7440fc075dcbdcf94 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Tue, 16 Sep 2025 21:52:38 +0530 Subject: [PATCH 06/32] docs: add database schema docs --- database-design-guide/README.md | 10 +++++++ database-design-guide/master.db/README.md | 7 +++++ database-design-guide/master.db/v1.md | 33 +++++++++++++++++++++++ project-overview.md | 10 +++---- 4 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 database-design-guide/README.md create mode 100644 database-design-guide/master.db/README.md create mode 100644 database-design-guide/master.db/v1.md diff --git a/database-design-guide/README.md b/database-design-guide/README.md new file mode 100644 index 0000000..92116a7 --- /dev/null +++ b/database-design-guide/README.md @@ -0,0 +1,10 @@ +In this directory, You will find the general structure & format in which app stores users data. Also you will you will find different schema of database. + +> Some feature are not supported in SQLite and some might be specific to some database. but as a developer we will try our best to abstract away database concept (from front-end) as much as possible by separating database functionality in a separate module. and front-end will just call as simple as method like `savePassword()` or `loadPassword()` or something along that lines... to communicate with database... + +> [!NOTE] +> Database schema versioning system is completely separate from the app versioning system. + +## List Of Databases + +- Master Database [(master.db)](master.db/README.md) diff --git a/database-design-guide/master.db/README.md b/database-design-guide/master.db/README.md new file mode 100644 index 0000000..02c4b9e --- /dev/null +++ b/database-design-guide/master.db/README.md @@ -0,0 +1,7 @@ +# Master Database (master.db) + +**Database**: SQLite(`master.db`) + +It is a database where user info is stored. It schema changes often between the app versions, based on changes in feature requirements. Here, in this section you will find all the version of database schema & will also find info about how we adopted to the new schema. + +- [v1](v1.md) diff --git a/database-design-guide/master.db/v1.md b/database-design-guide/master.db/v1.md new file mode 100644 index 0000000..a43d479 --- /dev/null +++ b/database-design-guide/master.db/v1.md @@ -0,0 +1,33 @@ + +# Tables + +| Tables | Description | +| ----------- | ---------------------------- | +| `passwords` | For storing password entity. | + +## Passwords Table (`passwords`) + +| Fields | Property | Constraints | Description | +| ------------ | -------- | -------------------------- | ------------------------------------------------------------------------------------------------------- | +| `id` | Integer | PRIMARY KEY, AUTOINCREMENT | -- | +| `domain` | Text | NOT NULL | domain/platform name to which password enitity is associated with. | +| `username` | Text | NOT NULL | username on that domain / platform. email can be even used as a value. | +| `password` | Text | NOT NULL | password for that specfic username on that specfic domain / platform. | +| `notes` | Text | NOT NULL | notes that you wanna take for that record. more like be some information about account on that platform | +| `created_at` | Text | DEFAULT CURRENT_TIMESTAMP | -- | +| `updated_at` | Text | DEFAULT CURRENT_TIMESTAMP | -- | + +## Setup SQL + +```sql +CREATE TABLE IF NOT EXISTS passwords ( + `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, + `domain` TEXT NOT NULL, + `username` TEXT NOT NULL, + `password` TEXT NOT NULL, + `notes` TEXT NOT NULL, + `created_at` TEXT DEFAULT CURRENT_TIMESTAMP, + `updated_at` TEXT DEFAULT CURRENT_TIMESTAMP +); +``` + diff --git a/project-overview.md b/project-overview.md index 83687d5..4fd2fcf 100644 --- a/project-overview.md +++ b/project-overview.md @@ -4,7 +4,7 @@ An app that take down your headache of remembering password and auth related sen ## Outline -- [Problem Statement](#problem-statement) +- [Problem Statement](#problem statement) - [Goals](#goals) - [Target Users](#target-users) - [Priority](#priority) @@ -26,7 +26,7 @@ In modern days, data is important, especially data that has concern with auth in Which means, - For those, who wish to optimize, there password management workflow.. but don;t how to... - - For those, who are willing to spend time learning a tool (specifically for password management) & for those how are willing to uncover (disambiguate) abstraction that app uses to make the experience of storing passwords with passcode much more simpler... + - For those, who are willing to spend time learning a tool (specifically for password management) & for those how are willing to uncover (disambiguate) abstraction that app uses to make the experience of storing passwords with passcodes much more simpler... - For those, who are willing to gain control of there auth data, without that extra headache of remember data that comes with it... - For those, who don't mind researching and squirm through our documentation for hrs, just for once in a while, to customize & optimize their password management workflow... @@ -43,7 +43,7 @@ In modern days, data is important, especially data that has concern with auth in - that the app will made in such way, in which we will try to abstract away the complex concepts in different extensible/decoupled systems... such that end users will more like feel that they are using a simple. but, secure password managing app... - if you fall in this category of target users, then it more like that you will either not use the app to it full potential, or more like you will became password management nerd, as app is full optimized to promote customization and optimization of your password management workflow... - - Also, it more like a way to start using/integrating passcodes app into your daily password management workflow... but if wanna continue, then we recommend you, to try learn about your specific password management workflow and make yourself prompted from just normal end user to a more, better group (as in `Not So Developer, Not So Normal-End-User` group).. which will make you, the first target of app... which also mean that you will likely use app more effectively and will (at somepoint) end up optimizing your password management workflow, to make it more secure and customized to your specific needs... + - Also, it more like a way to start using/integrating passcodes app into your daily password management workflow... but if wanna continue, then we recommend you, to try learn about your specific password management workflow and make yourself prompted from just normal end user to a more, better group (as in `Not So Developer, Not So Normal-End-User` group).. which will make you, the first target of app... which also mean that you will likely use app more effectively and will (at some point) end up optimizing your password management workflow, to make it more secure and customized to your specific needs... --- @@ -77,7 +77,7 @@ It a simple much more intuitive password management solution.. develop by fellow #### Why Quit? -Daniel, the official owner of project, has stop provide further update as his priority change... there was no real design issue with project... it just that project was more made for eduaitional purpose and prototyping, hobby kind of purpose. +Daniel, the official owner of project, has stop provide further update as his priority change... there was no real design issue with project... it just that project was more made for educational purpose and prototyping, hobby kind of purpose. ### Smart Manager @@ -85,7 +85,7 @@ Github REPO: [Smart Manager](https://github.com/JeelDobariya38/Smart-Manager) #### Overview -It was my first project in world of password manager and also in world of software engineering... it mostly a project, where i have made a lots of design mistakes... and try to make the code scalable and extensible and try implementing various stuff, that just don't fit together.. it perfect example, of use everything someone say is a community standard, without ever questioning why am i using it or wether is it worth adding to project.... it like if someone said use dependency injection make code better... then let just use it in our project.... +It was my first project in world of password manager and also in world of software engineering... it mostly a project, where i have made a lots of design mistakes... and try to make the code scalable and extensible and try implementing various stuff, that just don't fit together.. it perfect example, of use everything someone say is a community standard, without ever questioning why am i using it or whether is it worth adding to project.... it like if someone said use dependency injection make code better... then let just use it in our project.... #### Why Quit? From 693d8c4c89013040b7fc11f770485eb51345e9c1 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya <136002730+JeelDobariya38@users.noreply.github.com> Date: Wed, 17 Sep 2025 07:28:43 +0530 Subject: [PATCH 07/32] chore: migrated LICENSE.txt from organisation repo --- LICENSE.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE.txt diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..3910f83 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Jeel Dobariya + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From e9c310c1310718c077c1c1964324d324d7ca118c Mon Sep 17 00:00:00 2001 From: Jeel Dobariya <136002730+JeelDobariya38@users.noreply.github.com> Date: Wed, 17 Sep 2025 07:30:29 +0530 Subject: [PATCH 08/32] chore: migrate SECURITY.md --- SECURITY.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..83d1c6a --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,8 @@ +# Security Policy + +## Reporting a Vulnerability + +Report a vulnerability on a maintainer email. don't create a github issue or report publicly. + +- `dobariyaj34@gmail.com` +- `achmad24daniel@gmail.com` From 3d55491e559fa878e85b36d2078524306b563fad Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Wed, 17 Sep 2025 18:45:18 +0530 Subject: [PATCH 09/32] docs: document db version 0 --- database-design-guide/master.db/v0.md | 32 +++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 database-design-guide/master.db/v0.md diff --git a/database-design-guide/master.db/v0.md b/database-design-guide/master.db/v0.md new file mode 100644 index 0000000..424f3ae --- /dev/null +++ b/database-design-guide/master.db/v0.md @@ -0,0 +1,32 @@ + +# Tables + +| Tables | Description | +| ----------- | ---------------------------- | +| `passwords` | For storing password entity. | + +## Passwords Table (`passwords`) + +| Fields | Property | Constraints | Description | +| ----------- | ------------ | ------------------------------ | -------------------------------------------------------------------- | +| `id` | Integer | PRIMARY KEY, AUTOINCREMENT | -- | +| `domain` | VarChar(40) | NOT NULL | domain/platform name to which password entity 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 | -- | + +## Setup SQL + +```sql +CREATE TABLE IF NOT EXISTS passwords ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + domain VARCHAR(40) NOT NULL, + username VARCHAR(60) NOT NULL, + password VARCHAR(60) NOT NULL, + notes VARCHAR(100), + createdat DATE DEFAULT CURRENT_TIMESTAMP, + updatedat DATE DEFAULT CURRENT_TIMESTAMP +); +``` From bca474215b32c816ed8ffb82c40c939942448cf4 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Wed, 17 Sep 2025 18:51:16 +0530 Subject: [PATCH 10/32] docs: add metadata to docs --- database-design-guide/master.db/v0.md | 3 +++ database-design-guide/master.db/v1.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/database-design-guide/master.db/v0.md b/database-design-guide/master.db/v0.md index 424f3ae..963d62e 100644 --- a/database-design-guide/master.db/v0.md +++ b/database-design-guide/master.db/v0.md @@ -1,4 +1,7 @@ +> Used By: `v0.1.0` +> Purpose: Build For Prototyping.... + # Tables | Tables | Description | diff --git a/database-design-guide/master.db/v1.md b/database-design-guide/master.db/v1.md index a43d479..23d852e 100644 --- a/database-design-guide/master.db/v1.md +++ b/database-design-guide/master.db/v1.md @@ -1,4 +1,7 @@ +> Used by: `v1.0.0` => `v1.1.1` +> Purpose: Initial Schema + # Tables | Tables | Description | From d279286926744a24cbae39d70470397909f5c2a7 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Wed, 17 Sep 2025 19:07:56 +0530 Subject: [PATCH 11/32] organize & migrate some new doc files --- README.md | 9 ++++ .../README.md | 2 +- .../master.db/README.md | 0 .../master.db/v0.md | 0 .../master.db/v1.md | 0 reference/commands.md | 49 +++++++++++++++++++ user docs/security-guidelines.md | 25 ++++++++++ 7 files changed, 84 insertions(+), 1 deletion(-) rename {database-design-guide => database-design-docs}/README.md (90%) rename {database-design-guide => database-design-docs}/master.db/README.md (100%) rename {database-design-guide => database-design-docs}/master.db/v0.md (100%) rename {database-design-guide => database-design-docs}/master.db/v1.md (100%) create mode 100644 reference/commands.md create mode 100644 user docs/security-guidelines.md diff --git a/README.md b/README.md index d9cfc47..4e61932 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,15 @@ This repository contains Developers Docs, Support Docs & User Guide For Passcode > The Docs might have outdated (behind time) or forward (ahead of time) info (may be by a week).. > So, it always good to verify stuff.. by see the code... because we as developer of passcodes focus on code.. and documenation is our second priority.. +## Tips & Recommendation + We recommend using / opening, this docs in [obsidian.md](https://obsidian.md) for better experience in navigating as It made in obsidian app.. if you thing you gonna use it a lot otherwise in GitHub in browser is fine as well. + +## Best Practices We Follow + +- Use lowercase character for docs file / directory name. +- Use hyphens for docs file / directory name. +- Also try to separate and organize docs as much as possible.. like a hierarchy. (don't fear nested structure). +- avoid rename file once created because there might URL point to it... from app and various source which once publish can;t change.. (but if you have a strong reason break this rule). diff --git a/database-design-guide/README.md b/database-design-docs/README.md similarity index 90% rename from database-design-guide/README.md rename to database-design-docs/README.md index 92116a7..feba2ce 100644 --- a/database-design-guide/README.md +++ b/database-design-docs/README.md @@ -7,4 +7,4 @@ In this directory, You will find the general structure & format in which app sto ## List Of Databases -- Master Database [(master.db)](master.db/README.md) +- Master Database [(master.db)](database-design-docs/master.db/README.md) diff --git a/database-design-guide/master.db/README.md b/database-design-docs/master.db/README.md similarity index 100% rename from database-design-guide/master.db/README.md rename to database-design-docs/master.db/README.md diff --git a/database-design-guide/master.db/v0.md b/database-design-docs/master.db/v0.md similarity index 100% rename from database-design-guide/master.db/v0.md rename to database-design-docs/master.db/v0.md diff --git a/database-design-guide/master.db/v1.md b/database-design-docs/master.db/v1.md similarity index 100% rename from database-design-guide/master.db/v1.md rename to database-design-docs/master.db/v1.md diff --git a/reference/commands.md b/reference/commands.md new file mode 100644 index 0000000..096c094 --- /dev/null +++ b/reference/commands.md @@ -0,0 +1,49 @@ +# Important Commands + +- For Building A Clean ALL Variant + +```powershell +./gradlew clean assemble +``` + +- For Building A Clean Release Variant + +```powershell +./gradlew clean assembleRelease +``` + +- For Building A Staging Variant + +```powershell +./gradlew assembleStaging +``` + +- For Building A Debug Variant + +```powershell +./gradlew assembleDebug +``` + +- For Clearing Build Files + +```powershell +./gradlew clean +``` + +- For sync depeendency + +```powershell +./gradlew --refresh-dependencies +``` + +- For test app + +```powershell +./gradlew testDebugUnitTest +``` + +- For install app on USB connect device + +```powershell +./gradlew installDebug +``` diff --git a/user docs/security-guidelines.md b/user docs/security-guidelines.md new file mode 100644 index 0000000..dd92093 --- /dev/null +++ b/user docs/security-guidelines.md @@ -0,0 +1,25 @@ +# Security Guide + +Here, In this file, You can find the information about security concern that arise with saving your password with passcodes app. + +> [!warning] +> Firstly, The passcodes is open source project and is currently under active development. So, one is soley responsible for share there information with passcodes application. + +We as developers, recommended you to wait, for its stable release. before full trusting passcodes with yous your passwords data. + +## Consideration + +While, save your password with passcodes application. you should consider or should have knowledge of following things. + +- Project is license under MIT License. which means that application is given `as it is, without any warranty or guarantee` and is openly/freely available to redistribution or modify. (but you need to have a copy of original license in it) +- With passcodes, your password are as safe as you write it down on pieces of paper or in a txt file digitally. which means that, `your information is not specially protected.` + +## Recommendation + +Here, are the thing we recommend. + +- lock passcodes app, using your phone's settings app. it will make it hard for attackers to see your passwords. + +- if you lock the app, then use a different password, then the one you have on your lock screen. it make it even more safe. + +- also, if you don't use the app often, itrecommended, to hide the app using your phone settings. (it is bit inconvenient but at the end of day it pays off as safety) \ No newline at end of file From aa917415d67c22e66318c6bf1dcf9b873e33986f Mon Sep 17 00:00:00 2001 From: Jeel Dobariya <136002730+JeelDobariya38@users.noreply.github.com> Date: Wed, 17 Sep 2025 19:45:36 +0530 Subject: [PATCH 12/32] refactor: rename project-overview.md to other-docs/project-overview.md --- project-overview.md => other-docs/project-overview.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename project-overview.md => other-docs/project-overview.md (100%) diff --git a/project-overview.md b/other-docs/project-overview.md similarity index 100% rename from project-overview.md rename to other-docs/project-overview.md From c6feabc78468414db748af25d918e01f5b52bfb6 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya <136002730+JeelDobariya38@users.noreply.github.com> Date: Wed, 17 Sep 2025 19:47:39 +0530 Subject: [PATCH 13/32] refactor: organize --- {user docs => user-docs}/security-guidelines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename {user docs => user-docs}/security-guidelines.md (97%) diff --git a/user docs/security-guidelines.md b/user-docs/security-guidelines.md similarity index 97% rename from user docs/security-guidelines.md rename to user-docs/security-guidelines.md index dd92093..1c3630b 100644 --- a/user docs/security-guidelines.md +++ b/user-docs/security-guidelines.md @@ -22,4 +22,4 @@ Here, are the thing we recommend. - if you lock the app, then use a different password, then the one you have on your lock screen. it make it even more safe. -- also, if you don't use the app often, itrecommended, to hide the app using your phone settings. (it is bit inconvenient but at the end of day it pays off as safety) \ No newline at end of file +- also, if you don't use the app often, itrecommended, to hide the app using your phone settings. (it is bit inconvenient but at the end of day it pays off as safety) From 00902576b2b54b6fca7fc3a36810c7d33197b917 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Fri, 19 Sep 2025 20:57:07 +0530 Subject: [PATCH 14/32] docs: add a release workflow for app --- dev-docs/release-workflow.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 dev-docs/release-workflow.md diff --git a/dev-docs/release-workflow.md b/dev-docs/release-workflow.md new file mode 100644 index 0000000..86e2dfb --- /dev/null +++ b/dev-docs/release-workflow.md @@ -0,0 +1,25 @@ +# Release Workflow + +In this file, you will find documented process about, how we release, new version of a app. + +> [!IMPORTANT] +> this is not a practice that we follow top to bottom. +> but it is rather, what our pre-release process look like.. (most of time) + +1. We follow, so called `Main as Production Environment`. So, during the time of release we test the main branch code. + +2. Updated the Code where ever need. (code that refer to previous version). + +3. Make Documentation up-to-date. (document the main change in app from user point of view). + +4. Update `changelog.md`. + +5. Draft a new release with all apk files uploaded (signed apks). + +6. Discuss on community and check & test release app on various parameters and + + - We run unit tests. + - We run android tests. + - And of-course, we internally as developers also test it (manually). + +7. Then release it. From 42e0d6d7be055a2f95a4be64dc5b53cc5f4d860a Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Fri, 19 Sep 2025 21:48:48 +0530 Subject: [PATCH 15/32] docs: migrate support docs.. --- user-docs/changelog.md | 118 ++++++++++++++++++++++++++++++++ user-docs/installing.md | 136 +++++++++++++++++++++++++++++++++++++ user-docs/release-notes.md | 92 +++++++++++++++++++++++++ 3 files changed, 346 insertions(+) create mode 100644 user-docs/changelog.md create mode 100644 user-docs/installing.md create mode 100644 user-docs/release-notes.md diff --git a/user-docs/changelog.md b/user-docs/changelog.md new file mode 100644 index 0000000..0113d9b --- /dev/null +++ b/user-docs/changelog.md @@ -0,0 +1,118 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +Release Notes: [user-docs/release-notes.md](user-docs/release-notes.md), there you will find short and sweet release notes. + + +## Link + +- **Telegram:** [Community (@passcodescommunity)](https://t.me/passcodescommunity) +- **Website:** [https://passcodesapp.github.io/Passcodes-Website/)](https://passcodesapp.github.io/Passcodes-Website/) + + +## v1.1.1 - Alpha (Sept 11, 2025) + +
+ View Internal Details + + ``` + Pacakage Name = "com.jeeldobariya.passcodes" + Min Android = 8.0 (API level 26) + Max Android = 14 (API level 34) + Version Code = 2 + Version Name = "v1.1.1-Alpha" + Master Database Version = "v1" + ``` +
+ + +### Fixed + +- **Fixed Import Passwords**: fix the bug, that was not let user select csv files from file picker. due to incorrect mimetype in code.. Contributed by [@JeelDobariya38] + + +## v1.1.0 - Alpha (Sept 1, 2025) + +
+ View Internal Details + + ``` + Pacakage Name = "com.jeeldobariya.passcodes" + Min Android = 8.0 (API level 26) + Max Android = 14 (API level 34) + Version Code = 2 + Version Name = "v1.1.0-Alpha" + Master Database Version = "v1" + ``` +
+ + +### Added + +- **Improve UI/UX**: improve view password screen, also adjust the button colors.. Contributed by [@JeelDobariya38] +- **Add Feature Flagging**: give user a control on whether they wanna latest experience or stable experience. add a way for launching preview features without worry about their stability. Contributed by [@JeelDobariya38] +- **Update Checker**: made a basic update checker that help users stay out to date with latest release & also notify user about already reported security vulnerability. Contributed by [@JeelDobariya38] +- **Copy Button (preview feature)**: add copy button for copy passwords for easy of use. but as it is potential threat to security, made it a preview feature. Contributed by [@JeelDobariya38] +- **G-Passwords Import/Export (preview feature)**: add a import/export feature. which also compatible with google passwords. I have test it with my google password setup. but, I am not sure wether this will run in every edge case or not. So, it a preview feature. Contributed by [@JeelDobariya38] + +### Changed + +- **Migrated Project**: Migrate project from `JeelDobariya38 (personal)` to `PasscodesApp (my organization)` account. To reflect my long term vision. Contributed by [@JeelDobariya38]. + + +## v1.0.0 - Stable (Aug 16, 2025) + +
+ View Internal Details + + ``` + Pacakage Name = "com.jeeldobariya.passcodes" + Min Android = 8.0 (API level 26) + Max Android = 14 (API level 34) + Version Code = 1 + Version Name = "v1.0.0-Stable" + Master Database Version = "v1" + ``` +
+ +### Added + +- **Localized App**: add language support for English, Chinese, Hindi, Indonesian, Japanese, Korean, German, Spanish, Vietnamese. Contributed by [@JeelDobariya38]. +- **Improved UI/UX**: add confirmation dialog's, support for light & dark theme with additional minor changes. Contributed by [@JeelDobariya38 & @kudanilll]. +- **New Icon**: add new icons to app. Contributed by [@JeelDobariya38]. + +### Changed + +- **Migrated Package Name**: Migrate package name from `com.passwordmanager` to `com.jeeldobariya.passcodes`. Contributed by [@JeelDobariya38]. +- **Improve Safety By Kotlin Implementation**: Move from `Java` to `Kotlin` Language. Contributed by [@JeelDobariya38]. +- **Improve Data Storing Process**: Move from `SqliteDatabase` to `Room` Library for better data-storage. Contributed by [@JeelDobariya38]. + + +## v0.1.0 - Alpha (Aug 26, 2024) + +
+ View Internal Details + + ``` + Pacakage Name = "com.passwordmanager" + Min Android = 8.0 (API level 26) + Max Android = 13 (API level 33) + Version Code = 1 + Version Name = "0.1.0-Alpha" + Master Database Version = "v1" + ``` +
+ +### Added + +- **App Icon Creation**: Designed and implemented the initial app icon, providing the application with a recognizable visual identity. Contributed by [@HamadaNative]. +- **Basic App Structure**: Established the foundational architecture of the app, including the main entry point and initial setup. Contributed by [@JeelDobariya38]. +- **Main Page Development**: Developed the main page of the app, including basic UI components and initial layout. Contributed by [@HamadaNative]. + +### Notes + +- This is the initial alpha release, focused on setting up the basic structure and key visual elements of the app. \ No newline at end of file diff --git a/user-docs/installing.md b/user-docs/installing.md new file mode 100644 index 0000000..afb8f20 --- /dev/null +++ b/user-docs/installing.md @@ -0,0 +1,136 @@ +# Detail Guide On Installation + +This file give you a deep guide on installation & updation process. we hope that you have already read the step written in readme but, aren't satisfied with that and need more info and guide on installation and updation. + +👏👏 We appreciate your efforts. As developer we try to abstract away complicated process, But sometimes this abstraction make thing simple that it is.. Which lead to false image of the process. To avoid that, we have created this guide that help you navigate installation and updation process.. + +# Table of Contents + +- [Installation Process](#installion-process) +- [Updation Process](#updation-process) +- [Guide To Find A Best Release](#guide-to-find-a-best-release) +- [Explictly Yanked Release (Pure Trash)](#explictly-yanked-release-pure-trash) + +## Installation Process + +For initial installation of app, you follow step given below it work in most scenario. + +1. Checking whether the app can run on your device or not. + - go to your setting app and check whether you are on android 8+ or not? + - if no, then sorry, app is not compatible with your device. + - and if yes, then mostly you are good to go but, officially we only support device between android 8 to 14. For more high android version app can be run, But we don;t officially support it. + +2. After completing first step, Pick a version of app to install. + - Go to our [github repository release page](https://github.com/PasscodesApp/Passcodes/releases). There you will find a list of release available. + - pick up any one of the release you like. (we recommend you to pick a good release. [how can you find a good release](#guide-to-find-a-best-release)?) + - after pick up a release, you can read the change log to know what has changed. (optional step) + +3. Downloading apk files + - after pick up a release, you can scroll to the assets and download the apk that better fits your phone CPU architecture. + + - if you don;t know your phone CPU architecture. just download the apk file that has universal in its name. + +4. Installing apk files. + - install the apk file. the apk file will be mostly like downloaded in your browser (probably like Chrome, Firefox or Edge). + + - open the app. + +if any problem occur while performing the above 4 step. report your problem using [github issues](https://github.com/PasscodesApp/Passcodes/issues/new) after checking other support docs available in our [docs github repository](https://github.com/PasscodesApp/Passcodes-Docs) . + +## Updation Process + +As you are reading this part, we hope that you have passcodes app installed on your phone and now, you want to update it. + +you can follow step given below. they work for most scenario. + +> [!IMPORTANT] +> updating from one version to another might result into data loss. though, it occur very rarely. but, it a good practice to take a backup of data. +> this try of data loss are likely to occur, when you are update from one major version to another major version meaning from `1.x.x` to `2.x.x`. + +1. Checking Whether The Update Exist Or Not + - compare your current app version with latest app update. (you can find your current installed passcodes app version under app info in your phone settings) + - check whether a update exist or not? + - if no, then you can;t update but, can surely en-quire about the next update using github issues. + +> if you know a bit of android then just clone the repository and build from main. it will work fine, because we use main branch as production. take reference from existing building docs in github. + +> Ignore this if it doesn't make sense to you.. + + - if yes, then check how big the update is and how it affect your experience as user? + - to find the update impact you can check what the difference between your version and new version you are updating to. + +> i.e, if you update from 1.x.x to 2.x.x the the change will be big. if you update from 1.x.0 to 1.x.2 then change might be not visible even. + +2. Downloaded the updated apk files. + - it is same as you did earlier while installing the app. + + - goto release page and download the asset from select release. refer installation guide above if needed. + +3. Update the app. + - if, you updating to a new major release, meaning from 1.x.x to 2.x.x then, don;t forget to backup your data. you will thank your self later, if something goes wrong... + - now install the new apk file it will ask you to upgrade instead of install. + - open the app and enjoy your updated expirence. + +4. Restore the backup if need. + - if, needed restore the files/data back. or even revert to prevoius release if, problem occurs. + + - we admire the contribution even in form of your experience with app. + +> meaning, reporting your data erase on update problem. will be appreciate. +> it help us make better experience & fix bug that might be missed by us. + +--- + +## Guide To Find A Best Release + +To find a best release you should have knowledge of passcodes versioning system and type of releases we release/publish. + +### Release Types + +On our github release page you will find majorly `5 (3+2)` type of release. Where each type of release label tell you something about release. +Each release on github may have a label but, some even lack them completely. These label tends to tell more about release, so they are IMPORTANT to consider. + +There are majorly two ways, In which we classify release. Mean a release will have two labels. +So to speak: + +- **Build Label**: a label which won't change once after release. (alpha/beta/stable) +- **Github Release Label**: a label that can change. (pre-release/latest) + +#### Three type that are there in app itself, you find them in release title on github: + +(this tags/labels can;t change after initial release of that version is done). + +- Alpha: special design for development purpose, not intended to use by end users, they comes with likely lots of bugs and security venerability. +- Beta: release that can be used by mass audience, and likely can contain minor bugs. +- Stable: are likely to be more stable then others release type, contain nearly zero bugs as they are very well tested. this release also will have extra developer support. + +#### Two type are specific to github release. they are label on github release itself: + +(this tags can label can change with time as they are dynamic and are not tied to app itself. meaning they are no hard coded anywhere) + +- Pre Release: this release are not so good to install or to stick with. they are generally like `marked as deperacted` or more like `yanked release` +- Latest: this release label make a release as the best up to date release to install. but latest doesn't mean stable. it means latest feature. + +> [!NOTE] +> this label or flag changes with time. meaning, a app version after it release, can be marked as pre-release as there are lots of bug found in that release later or a release can later be marked as latest release as it all good after test in production enviroment. + +So, here is a list in order where starting type are best and ending types are worse. + +``` +STABLE (the best) > LATEST > BETA > ALPHA > PRE-RELEASE > RELEASE-WITH-NO-FLAGS (the worst) > Explictly Yanked Release (Pure Trash) +``` + +It more like that a release can have two flag at a same time. for example, a stable and pre-release. In such case, consider the github base label in this case `pre-release`. as they are more dynamic and provide the latest information from us (developer part). + +> this clear means a pre-release even if they are stable / alpha / beta / gamma (unlikely.... 😂) +> it just doesn't matter it will be considered `the worst`... + +--- + +## Explicitly Yanked Release (Pure Trash) + +This release will have Yanked Release written in the release title and description on github release page. + +Such release are just there for documentation purpose.. + +JUST DON'T USE THEM!!!! diff --git a/user-docs/release-notes.md b/user-docs/release-notes.md new file mode 100644 index 0000000..42d871a --- /dev/null +++ b/user-docs/release-notes.md @@ -0,0 +1,92 @@ +# Release Notes + +Here, You will find short ad sweet and casual `tldrs` for release notes or change-log. +For more details and more professional tone, see [user-docs/changelog.md](user-docs/changelog.md). + + +## Link + +- **Telegram:** [Community (@passcodescommunity)](https://t.me/passcodescommunity) +- **Website:** [https://passcodesapp.github.io/Passcodes-Website/)](https://passcodesapp.github.io/Passcodes-Website/) + + +## v1.1.1-Alpha (Sept 11, 2025) + +``` +Package Name = "com.jeeldobariya.passcodes" +Min Android = 8.0 (API level 26) +Max Android = 14 (API level 34) +Version Code = 2 +Version Name = "v1.1.1-Alpha" +Master Database Version = "v1" +``` + +`TL;DR`: Sorry for delay, but we have fix import files feature... + +We are very sorry for the delay.. we have officially fix the import password csv file selection bug... + +In big project, such small mistakes/things happens.. so, ignore it please... + + +## v1.1.0-Alpha (Sept 1, 2025) + +``` +Package Name = "com.jeeldobariya.passcodes" +Min Android = 8.0 (API level 26) +Max Android = 14 (API level 34) +Version Code = 2 +Version Name = "v1.1.0-Alpha" +Master Database Version = "v1" +``` + + +`TL;DR`: Design Improvement.. | Will work with google passwords.... | We are officially an organization on GitHub from `Aug 31, 2025`.... + +This our first **officially release after migrating to the github organization...** this release has feature like import & export passwords from google passwords app... this is also a alpha release and both features (copy password & import export password) are disable by default due to security threats... they can be turn on if you wish... + +Also as the passcodes have change from just my personal hobby project to official organization.. this release is step for us to move to open source and open to contribute... and more importantly it reflect, my long term vision with passcodes as a project... what it means? upcoming things will be more fascinating to view and to be part of... and also the app will have more long term support... (if you ignore, the fact that I am not verified developer as of "1/9/25 by google"... but will do it in near time...) + +Organization is name **PasscodesApp and not Passcodes. Because, it not available on github.......** + +Stick to watch and observe passcodes upcoming progress... [Telegram](https://t.me/passcodescommunity) + + +## v1.0.0-Stable (Aug 16, 2025) + +``` +Package Name = "com.jeeldobariya.passcodes" +Min Android = 8.0 (API level 26) +Max Android = 14 (API level 34) +Version Code = 1 +Version Name = "v1.0.0-Stable" +Master Database Version = "v1" +``` + + +`TL;DR`: Our first stable release.. | Not much has change in terms of look and feature.. | Name of project has changed to "Passcodes".. + +This is our first stable release, even though it look and behave same as prototype release. +it now more stable and more reliable as the data storage part is now tested and optimized and uses more modern approach (room library).. +things have change internally also... like app was first build using java.. but, now it is build using Kotlin. +now, you can also switch theme and languages in app.. +also improve UI/UX by providing help text.. especially as you all have question like "what is domain?" "what can i write in domain?" and so on..... + + +## v0.1.0-Alpha (Aug 26, 2024) + +``` +Package Name = "com.passwordmanager" +Min Android = 8.0 (API level 26) +Max Android = 13 (API level 33) +Version Code = 1 +Version Name = "0.1.0-Alpha" +Master Database Version = "v1" +``` + + +`TL;DR`: Our first initial release.. | Prototype release.. + +It a prototype release which mean it can have bugs... +It has all core features, like create, read, update and delete passwords... +It has basic UI that allow you do do things, really intuitively and more structure... +But structure and intuitively doesn't necessary means modern UI... UI is now so cool but has structure... From 101919b81e7b0acc7df55ba6db023750978d87ef Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Fri, 19 Sep 2025 21:50:52 +0530 Subject: [PATCH 16/32] docs: fix typos in toc --- user-docs/installing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user-docs/installing.md b/user-docs/installing.md index afb8f20..e6db51a 100644 --- a/user-docs/installing.md +++ b/user-docs/installing.md @@ -6,10 +6,10 @@ This file give you a deep guide on installation & updation process. we hope that # Table of Contents -- [Installation Process](#installion-process) +- [Installation Process](#Installation-process) - [Updation Process](#updation-process) - [Guide To Find A Best Release](#guide-to-find-a-best-release) -- [Explictly Yanked Release (Pure Trash)](#explictly-yanked-release-pure-trash) +- [Explicitly Yanked Release (Pure Trash)](#explicitly-yanked-release-pure-trash) ## Installation Process From ecb50d38ebee5ea935513bd36b665d0b6f654efa Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Fri, 19 Sep 2025 21:59:14 +0530 Subject: [PATCH 17/32] docs: add a dev docs for building stuff --- dev-docs/building.md | 89 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 dev-docs/building.md diff --git a/dev-docs/building.md b/dev-docs/building.md new file mode 100644 index 0000000..e8761fd --- /dev/null +++ b/dev-docs/building.md @@ -0,0 +1,89 @@ +# Detail Guide On Building Project + +> [!NOTE] +> This guide apply for `[PasscodesApp/Passcodes](https://github.com/PasscodesApp/Passcodes)` repository + +> [!warning] +> The script `installondevice.bat` itself is deprecated by developers, +> But, it still may works!! We will provide a new solution, more likely a `powershell` more robust script soon. +> Which directly integrate with modern windows 11. and has more features.. though this script will remains as it. + +Here, you will get the details about how to build the app (in recommended way). + +Note: This docs file assume that, you are build the project without android studio and with the `installondevice.bat` script provided. + +## Prerequisites + +You will need `gradle` and `adb` accessible from command-line so, that script can do its job. + +```powershell +adb --version +``` + +and + +```powershell +cd passcodes +./gradlew --version +``` + +Something like this... + +```powershell +PS D:\####\####\passcodes> adb --version +Android Debug Bridge version 1.0.41 +Version 35.0.2-12147458 +Installed as D:\####\####\lib\platform-tools\adb.exe +Running on Windows 10.0.26100 + +PS D:\####\####\passcodes> ./gradlew --version + +------------------------------------------------------------ +Gradle 8.14.3 +------------------------------------------------------------ + +Build time: 2025-07-04 13:15:44 UTC +Revision: e5ee1df3d88b8ca3a8074787a94f373e3090e1db + +Kotlin: 2.0.21 +Groovy: 3.0.24 +Ant: Apache Ant(TM) version 1.10.15 compiled on August 25 2024 +Launcher JVM: 17.0.12 (Oracle Corporation 17.0.12+8-LTS-286) +Daemon JVM: C:\Program Files\Java\jdk-17 (no JDK specified, using current Java home) +OS: Windows 11 10.0 amd64 +``` + +## Preparing For A Build. + +Here, are the things you required, first you will need a `keystore.properties` & `passcodes.jks` in project root. So, that the script can be able to sign the apk file when generated. Second thing you might need is a mobile device with USB debugging enable, connected to your machine, because script install the app directly using `adb`. + +### Template For `keystore.properties` + +``` +keyAlias=passcodes +keyPassword= +storeFile=./../passcodes.jks +storePassword= +``` + +**Fill the `keyPassword` and `storePassword`** and you are good to go. + +## Deprecated: Finial Run Script For Building + +> [!warning] +> The script `installondevice.bat` itself is deprecated by developers, +> But it still may works!! + +You can build the app for production and dev version. + +- Development Builds + +```powershell +./installondevice.bat +``` + +- Production Builds + +```powershell +./installondevice.bat prod +``` From 85073ae3d83944032a3a84f718de0a025d5d8be3 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sat, 20 Sep 2025 13:26:22 +0530 Subject: [PATCH 18/32] docs: improve docs structure --- database-design-docs/README.md | 2 +- ...in as Production Env(1).json => Main as Production Env.json} | 0 other-docs/project-overview.md | 2 +- {reference => references}/commands.md | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename essentials/rulesets/{Main as Production Env(1).json => Main as Production Env.json} (100%) rename {reference => references}/commands.md (100%) diff --git a/database-design-docs/README.md b/database-design-docs/README.md index feba2ce..92116a7 100644 --- a/database-design-docs/README.md +++ b/database-design-docs/README.md @@ -7,4 +7,4 @@ In this directory, You will find the general structure & format in which app sto ## List Of Databases -- Master Database [(master.db)](database-design-docs/master.db/README.md) +- Master Database [(master.db)](master.db/README.md) diff --git a/essentials/rulesets/Main as Production Env(1).json b/essentials/rulesets/Main as Production Env.json similarity index 100% rename from essentials/rulesets/Main as Production Env(1).json rename to essentials/rulesets/Main as Production Env.json diff --git a/other-docs/project-overview.md b/other-docs/project-overview.md index 4fd2fcf..28e4ab6 100644 --- a/other-docs/project-overview.md +++ b/other-docs/project-overview.md @@ -4,7 +4,7 @@ An app that take down your headache of remembering password and auth related sen ## Outline -- [Problem Statement](#problem statement) +- [Problem Statement](#problem-statement) - [Goals](#goals) - [Target Users](#target-users) - [Priority](#priority) diff --git a/reference/commands.md b/references/commands.md similarity index 100% rename from reference/commands.md rename to references/commands.md From ece9eb7aadb2f2dd0a2a5de6a684a113a4ec7338 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya <136002730+JeelDobariya38@users.noreply.github.com> Date: Sat, 20 Sep 2025 13:44:57 +0530 Subject: [PATCH 19/32] fix: broken link to changelog.md --- user-docs/changelog.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/user-docs/changelog.md b/user-docs/changelog.md index 0113d9b..d8104b8 100644 --- a/user-docs/changelog.md +++ b/user-docs/changelog.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -Release Notes: [user-docs/release-notes.md](user-docs/release-notes.md), there you will find short and sweet release notes. +Release Notes: [release-notes.md](release-notes.md), there you will find short and sweet release notes. ## Link @@ -115,4 +115,4 @@ Release Notes: [user-docs/release-notes.md](user-docs/release-notes.md), there y ### Notes -- This is the initial alpha release, focused on setting up the basic structure and key visual elements of the app. \ No newline at end of file +- This is the initial alpha release, focused on setting up the basic structure and key visual elements of the app. From 4def2a2e18c846ad94c795b486fce2d27d9fc934 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sat, 20 Sep 2025 14:00:02 +0530 Subject: [PATCH 20/32] docs: improve heading --- database-design-docs/master.db/v0.md | 4 +++- database-design-docs/master.db/v1.md | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/database-design-docs/master.db/v0.md b/database-design-docs/master.db/v0.md index 963d62e..8535b81 100644 --- a/database-design-docs/master.db/v0.md +++ b/database-design-docs/master.db/v0.md @@ -1,8 +1,9 @@ +# v0 > Used By: `v0.1.0` > Purpose: Build For Prototyping.... -# Tables +## Tables | Tables | Description | | ----------- | ---------------------------- | @@ -33,3 +34,4 @@ CREATE TABLE IF NOT EXISTS passwords ( updatedat DATE DEFAULT CURRENT_TIMESTAMP ); ``` + diff --git a/database-design-docs/master.db/v1.md b/database-design-docs/master.db/v1.md index 23d852e..6040ef3 100644 --- a/database-design-docs/master.db/v1.md +++ b/database-design-docs/master.db/v1.md @@ -1,3 +1,4 @@ +# v1 > Used by: `v1.0.0` => `v1.1.1` > Purpose: Initial Schema From f67be252e5a846cb2cba784e06fcf77129556c14 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sat, 20 Sep 2025 21:43:48 +0530 Subject: [PATCH 21/32] docs: start writing open-contributing-timeline.md --- other-docs/open-contributing-timeline.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 other-docs/open-contributing-timeline.md diff --git a/other-docs/open-contributing-timeline.md b/other-docs/open-contributing-timeline.md new file mode 100644 index 0000000..363eb81 --- /dev/null +++ b/other-docs/open-contributing-timeline.md @@ -0,0 +1,11 @@ +# Open Contributing Timeline + +This file will provide from when and where, the repository an or will be able to accept external contribution from other developers and community.. +This will provide you the abstract idea / timeline, that you can look at and see how much you need wait to contribute, it help cordinate this.... +Also, we aim to provide you a clear timeline... And lay a path forward.. + +> [!NOTE] +> You can current still contribute to repository, if plan to do so... but just keep in mind that while make your contribution you may or might feel like everything, +> is behind you and fight against you.. and will slow you down.. also expect less streamline process and you also accept some time waste.. But, I will try help as much as possible, +> on our telegram community.. to get on working.. but just keep this document in mind... + From 3462b4299972df884d41ebcece7bc4aca3c03b1c Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sat, 20 Sep 2025 22:32:37 +0530 Subject: [PATCH 22/32] docs: made a ouline of timeline it [rough though] --- other-docs/open-contributing-timeline.md | 42 ++++++++++++++++++++---- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/other-docs/open-contributing-timeline.md b/other-docs/open-contributing-timeline.md index 363eb81..cdd04f9 100644 --- a/other-docs/open-contributing-timeline.md +++ b/other-docs/open-contributing-timeline.md @@ -1,11 +1,41 @@ # Open Contributing Timeline -This file will provide from when and where, the repository an or will be able to accept external contribution from other developers and community.. -This will provide you the abstract idea / timeline, that you can look at and see how much you need wait to contribute, it help cordinate this.... -Also, we aim to provide you a clear timeline... And lay a path forward.. +This file will provide from when and where, the repository will be able to accept external contribution from other developers and community.. +This will provide you the abstract idea / timeline, that you can look at and see, how much you need to wait, to contribute, +Besides, it help cordinate the contribution process.... Also, we aim to provide you a clear timeline... And lay a path forward.. + > [!NOTE] -> You can current still contribute to repository, if plan to do so... but just keep in mind that while make your contribution you may or might feel like everything, -> is behind you and fight against you.. and will slow you down.. also expect less streamline process and you also accept some time waste.. But, I will try help as much as possible, -> on our telegram community.. to get on working.. but just keep this document in mind... +> You can current still contribute to the repository, if you plan to do so... But just keep in mind that, while do so, you may feel like everything is behind you, +> and fight against you.. and this will slow you down.. also expect, less streamline process and you also expect some of your time waste.. +> But, I will try my best to help as much as possible, on our telegram community.. to get you start on working.. but just keep this document and this entire thing in mind... + + +## Steps Required To Cordinate Open Contributing.. + +- [X] Obviously, Idea!! (Aug 1, 2024) + +- [X] Setup Github Repository (Personal Account) (Aug 5, 2024) + +- [X] Make Prototype Release aka Proof Of Concept (Aug 26, 2024) + +- [X] `JeelDobariya38/Password-Manager` -> `JeelDobariya38/Passcodes` & Community Standards For Repository. (Aug 1, 2025) + +> Somehow, it is excatly after year!! [#17](https://github.com/PasscodesApp/Passcodes/pull/17) I just realized while write this document.. + +- [X] Migrate Codebase: `Java -> Kotlin` (Aug 1, 2025) + +- [X] First Stable Release (Aug 16, 2025) + +- [X] Offically Organization on Github [JeelDobariya38 -> PasscodesApp](https://github.com/PasscodesApp) (Aug 31, 2025) + +- [ ] Improve Structure & Organization.. i.e segegrate app code, docs and website into different stuff (end of sep 2025) + +- [ ] `MVC -> MVVM` architure update.. i.e current is more like mvc we move to mvvm as it is an industry strandard (end of oct 2025) + +- [ ] `XML -> Jetpack Compose` (end of nov 2025) + +- [ ] Plan for Google Developer Verification, i mean we will discuss about it. (in december how manage or cordinate with it) + +- [ ] Open For Contribute (Roughly, 31 Dec, end of 2025) From 9b67281e5b3cc4becf187cf02ccf5739f1c5b563 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sun, 21 Sep 2025 13:15:40 +0530 Subject: [PATCH 23/32] docs: add contributing.md Signed-off-by: Jeel Dobariya --- essentials/CONTRIBUTING.md | 131 +++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 essentials/CONTRIBUTING.md diff --git a/essentials/CONTRIBUTING.md b/essentials/CONTRIBUTING.md new file mode 100644 index 0000000..43a0b33 --- /dev/null +++ b/essentials/CONTRIBUTING.md @@ -0,0 +1,131 @@ +# Contributing Guidelines + +_Pull requests, bug reports, and all other forms of contribution are welcomed and highly encouraged!_ :octocat: + +### Contents + +- [Asking Questions](#bulb-asking-questions) +- [Opening an Issue](#inbox_tray-opening-an-issue) +- [Feature Requests](#love_letter-feature-requests) +- [Triaging Issues](#mag-triaging-issues) +- [Submitting Pull Requests](#repeat-submitting-pull-requests) +- [Writing Commit Messages](#memo-writing-commit-messages) +- [Code Review](#white_check_mark-code-review) +- [Certificate of Origin](#medal_sports-certificate-of-origin) +- [Credits](#pray-credits) + +> **This guide serves to set clear expectations for everyone involved with the project so that we can improve it together while also creating a welcoming space for everyone to participate. Following these guidelines will help ensure a positive experience for contributors and maintainers.** + +## :bulb: Asking Questions + +See our [Community](https://t.me/passcodescommunity) on telegram we appricate your question over there. In short, GitHub issues are not the appropriate place to debug your specific question, but should be reserved for filing bugs and feature requests. + +## :inbox_tray: Opening an Issue + +Before [creating an issue](https://github.com/PasscodesApp/Passcodes/issues/new), check if you are using the latest version of the project. If you are not up-to-date, see if updating fixes your issue first. + +### :lock: Reporting Security Issues + +Review our [Security Policy](SECURITY.md). **Do not** file a public issue for security vulnerabilities. + +### :beetle: Bug Reports and Other Issues + +A great way to contribute to the project is to send a detailed issue when you encounter a problem. We always appreciate a well-written, thorough bug report. :v: + +In short, since you are most likely a developer, **provide a ticket that you would like to receive**. + +- **Review the Documentation and Support Guide** before opening a new issue. + +- **Do not open a duplicate issue!** Search through existing issues to see if your issue has previously been reported. If your issue exists, comment with any additional information you have. You may simply note "I have this problem too", which helps prioritize the most common problems and requests. + +- **Prefer using [reactions](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/)**, not comments, if you simply want to "+1" an existing issue. + +- **Use [GitHub-flavored Markdown](https://help.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax).** Especially put code blocks and console outputs in backticks (```). This improves readability. + +## :love_letter: Feature Requests + +Feature requests are welcome! While we will consider all requests, we cannot guarantee your request will be accepted. We want to avoid [feature creep](https://en.wikipedia.org/wiki/Feature_creep). Your idea may be great, but also out-of-scope for the project. If accepted, we cannot make any commitments regarding the timeline for implementation and release. However, you are welcome to submit a pull request to help! + +- **Do not open a duplicate feature request.** Search for existing feature requests first. If you find your feature (or one very similar) previously requested, comment on that issue. + +- Be precise about the proposed outcome of the feature and how it relates to existing features. Include implementation details if possible. + +## :mag: Triaging Issues + +You can triage issues which may include reproducing bug reports or asking for additional information, such as version numbers or reproduction instructions. Any help you can provide to quickly resolve an issue is very much appreciated! + +## :repeat: Submitting Pull Requests + +We **love** pull requests! Before [forking the repo](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) and [creating a pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/proposing-changes-to-your-work-with-pull-requests) for non-trivial changes, it is usually best to first open an issue to discuss the changes, or discuss your intended approach for solving the problem in the comments for an existing issue. + +For most contributions, after your first pull request is accepted and merged, you will be [invited to the project](https://help.github.com/en/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository) and given **push access**. :tada: + +_Note: All contributions will be licensed under the project's license._ + +- **Smaller is better.** Submit **one** pull request per bug fix or feature. A pull request should contain isolated changes pertaining to a single bug fix or feature implementation. **Do not** refactor or reformat code that is unrelated to your change. It is better to **submit many small pull requests** rather than a single large one. Enormous pull requests will take enormous amounts of time to review, or may be rejected altogether. + +- **Coordinate bigger changes.** For large and non-trivial changes, open an issue to discuss a strategy with the maintainers. Otherwise, you risk doing a lot of work for nothing! + +- **Prioritize understanding over cleverness.** Write code clearly and concisely. Remember that source code usually gets written once and read often. Ensure the code is clear to the reader. The purpose and logic should be obvious to a reasonably skilled developer, otherwise you should add a comment that explains it. + +- **Follow existing coding style and conventions.** Keep your code consistent with the style, formatting, and conventions in the rest of the code base. Consistency makes it easier to review and modify in the future. + +- **Update the example project** if one exists to exercise any new functionality you have added. + +- **Add documentation.** Document your changes with code doc comments or in existing guides. + +- **Update the CHANGELOG** for all enhancements and bug fixes. Include the corresponding issue number if one exists, and your GitHub username. (example: "- Fixed crash in profile view. #123 @jessesquires") + +- **Use the repo's default branch.** Branch from and [submit your pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) to the repo's default branch. `main`. + +- **[Resolve any merge conflicts](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-on-github)** that occur. + +- **Promptly address any CI failures**. If your pull request fails to build or pass tests, please push another commit to fix it. + +- When writing comments, use properly constructed sentences, including punctuation. + +- Use spaces, not tabs. + +## :memo: Writing Commit Messages + +Please [write a great commit message](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716), we follow sematic commits but, don't enfore them. + +## :white_check_mark: Code Review + +- **Review the code, not the author.** Look for and suggest improvements without disparaging or insulting the author. Provide actionable feedback and explain your reasoning. + +- **You are not your code.** When your code is critiqued, questioned, or constructively criticized, remember that you are not your code. Do not take code review personally. + +- **Always do your best.** No one writes bugs on purpose. Do your best, and learn from your mistakes. + +- Kindly note any violations to the guidelines specified in this document. + +## :medal_sports: Certificate of Origin + +_Developer's Certificate of Origin 1.1_ + +By making a contribution to this project, I certify that: + +> I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. + +## [No Brown M&M's](https://en.wikipedia.org/wiki/Van_Halen#Contract_riders) + +If you are reading this, bravo dear user and (hopefully) contributor for making it this far! You are awesome. :100: + +To confirm that you have read this guide and are following it as best as possible, **include this emoji at the top** of your issue or pull request: :black_heart: `:black_heart:` + +## :pray: Credits + +Written by [@jessesquires](https://github.com/jessesquires). + +**Please feel free to adopt this guide in your own projects. Fork it wholesale or remix it for your needs.** + +_Many of the ideas and prose for the statements in this document were based on or inspired by work from the following communities:_ + +- [Alamofire](https://github.com/Alamofire/Alamofire/blob/master/CONTRIBUTING.md) +- [CocoaPods](https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md) +- [Docker](https://github.com/moby/moby/blob/master/CONTRIBUTING.md) +- [Linux](https://elinux.org/Developer_Certificate_Of_Origin) + +_We commend them for their efforts to facilitate collaboration in their projects._ + From e349445a947d0085787c2b72d82165dd8a04ab3e Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sun, 21 Sep 2025 13:51:52 +0530 Subject: [PATCH 24/32] docs: add other github essentials template files --- essentials/bug-report-template.md | 39 +++++++++++++++++++++ essentials/feature-request.md | 20 +++++++++++ essentials/feedback-question-help-wanted.md | 29 +++++++++++++++ essentials/pull-request-template.md | 20 +++++++++++ essentials/release.yml | 25 +++++++++++++ 5 files changed, 133 insertions(+) create mode 100644 essentials/bug-report-template.md create mode 100644 essentials/feature-request.md create mode 100644 essentials/feedback-question-help-wanted.md create mode 100644 essentials/pull-request-template.md create mode 100644 essentials/release.yml diff --git a/essentials/bug-report-template.md b/essentials/bug-report-template.md new file mode 100644 index 0000000..1564c1a --- /dev/null +++ b/essentials/bug-report-template.md @@ -0,0 +1,39 @@ +--- +name: Bug Report +about: Create a report to help us improve +title: "Bug Report: [Give a title for bug]" +labels: bug +assignees: JeelDobariya38 +--- + +## Describe the bug: + +A clear and concise description of what the bug is. + +## To Reproduce: + +Steps to reproduce the behavior: + +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +## Expected behavior: + +A clear and concise description of what you expected to happen, if the bug was not there. + +## Screenshots: + +If applicable, add screenshots to help explain your problem. + +## Smartphone (please complete the following information): + +- Device: [e.g. Google Pixel 9] +- Android Version: [e.g. 14] +- App Version: [e.g. v0.1.0] + +## Additional Context: + +Add any other context about the problem here. + diff --git a/essentials/feature-request.md b/essentials/feature-request.md new file mode 100644 index 0000000..0372ac0 --- /dev/null +++ b/essentials/feature-request.md @@ -0,0 +1,20 @@ +--- +name: Feature Request +about: Suggest an idea for this project +title: "Feature Request: [Your feature name]" +labels: "" +assignees: JeelDobariya38 +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. + diff --git a/essentials/feedback-question-help-wanted.md b/essentials/feedback-question-help-wanted.md new file mode 100644 index 0000000..a9f92de --- /dev/null +++ b/essentials/feedback-question-help-wanted.md @@ -0,0 +1,29 @@ +--- +name: FeedBack / Question / Help Wanted +about: Describe your question, thought or feedback regarding passcodes project +title: General Concerns +labels: question +assignees: "" +--- + +> ![Note] +> For faster, more casual, chat like conversation join our telegram community.. + +## Overview + +describe in short paragraph, what you are write or what question or concern you have.. + +## Required Information + +- **Are your concerns related to?** Security / Customization / Something Else +- **What is app version you use?** ............ +- **What is the device and what version of android you use?** ......... + +## Thoughts + +describe your thought and feedback related to app. if you have question then delete this section and fill the question section... + +## Question + +describe your question or your concern if any... + diff --git a/essentials/pull-request-template.md b/essentials/pull-request-template.md new file mode 100644 index 0000000..867bd49 --- /dev/null +++ b/essentials/pull-request-template.md @@ -0,0 +1,20 @@ +# Changes Made + +- summary 1. +- summary 2. +- ... + +> summary here should be in one line (write consise so that review without take look at code, can say/determine what changed).. +> they should provide structure overview that read and understand what changed +> not a detail guide, you can provide further infomation in notes section or it would be expictily ask in pr comments at review if need..) + + +# Breaking Changes + +- [Write about any breaking changes, like architure change or databse changes etc.. If none, remove the sectio compeletly]. + + +## Notes + +[if any, otherwise remove the section] + diff --git a/essentials/release.yml b/essentials/release.yml new file mode 100644 index 0000000..1a0ff4f --- /dev/null +++ b/essentials/release.yml @@ -0,0 +1,25 @@ +# .github/release.yml + +changelog: + categories: + - title: Highlights 🌟 + labels: + - highlights + + - title: New Features 🚀 + labels: + - feature + - enhancement + + - title: Bug Fixes 🐛 + labels: + - bug + + - title: Documentation 📚 + labels: + - documentation + + - title: Other Changes + labels: + - "*" + From 16d2211856278049c0235210699ec6d1b3dcfd56 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sun, 21 Sep 2025 13:54:42 +0530 Subject: [PATCH 25/32] refactor: structure & organize.. --- essentials/CONTRIBUTING.md => CONTRIBUTING.md | 0 essentials/{feature-request.md => feature-request-template.md} | 0 ...n-help-wanted.md => feedback-question-help-wanted-template.md} | 0 essentials/{release.yml => release-template.yml} | 0 .../{rulesets => rulesets-template}/Main as Production Env.json | 0 .../{rulesets => rulesets-template}/Release Protection.json | 0 6 files changed, 0 insertions(+), 0 deletions(-) rename essentials/CONTRIBUTING.md => CONTRIBUTING.md (100%) rename essentials/{feature-request.md => feature-request-template.md} (100%) rename essentials/{feedback-question-help-wanted.md => feedback-question-help-wanted-template.md} (100%) rename essentials/{release.yml => release-template.yml} (100%) rename essentials/{rulesets => rulesets-template}/Main as Production Env.json (100%) rename essentials/{rulesets => rulesets-template}/Release Protection.json (100%) diff --git a/essentials/CONTRIBUTING.md b/CONTRIBUTING.md similarity index 100% rename from essentials/CONTRIBUTING.md rename to CONTRIBUTING.md diff --git a/essentials/feature-request.md b/essentials/feature-request-template.md similarity index 100% rename from essentials/feature-request.md rename to essentials/feature-request-template.md diff --git a/essentials/feedback-question-help-wanted.md b/essentials/feedback-question-help-wanted-template.md similarity index 100% rename from essentials/feedback-question-help-wanted.md rename to essentials/feedback-question-help-wanted-template.md diff --git a/essentials/release.yml b/essentials/release-template.yml similarity index 100% rename from essentials/release.yml rename to essentials/release-template.yml diff --git a/essentials/rulesets/Main as Production Env.json b/essentials/rulesets-template/Main as Production Env.json similarity index 100% rename from essentials/rulesets/Main as Production Env.json rename to essentials/rulesets-template/Main as Production Env.json diff --git a/essentials/rulesets/Release Protection.json b/essentials/rulesets-template/Release Protection.json similarity index 100% rename from essentials/rulesets/Release Protection.json rename to essentials/rulesets-template/Release Protection.json From 5139b76bdefc88411cc8ca3f33d7427ca8b2b2cd Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sun, 21 Sep 2025 15:01:16 +0530 Subject: [PATCH 26/32] docs: add extra infomation.. --- README.md | 12 +++++++++++- user-docs/changelog.md | 3 +++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4e61932..174a3f4 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,14 @@ if you thing you gonna use it a lot otherwise in GitHub in browser is fine as we - Use lowercase character for docs file / directory name. - Use hyphens for docs file / directory name. - Also try to separate and organize docs as much as possible.. like a hierarchy. (don't fear nested structure). -- avoid rename file once created because there might URL point to it... from app and various source which once publish can;t change.. (but if you have a strong reason break this rule). +- Avoid rename file once created because there might URL point to it... from app and various source which once publish can;t change.. (but if you have a strong reason break this rule). + +## Contirbuting to Docs + +This works same as contributing to repository.. create your branch in this repo, make changes and submit a pr.. Always refer to [CONTRIBUTING.md](CONTRIBUTING.md) + +## Note + +You will find all the docs releated to the `Passcodes` and other project under `PasscodesApp` github organization.. +This is single place that you need refer for any docs or updates.. + diff --git a/user-docs/changelog.md b/user-docs/changelog.md index d8104b8..4fae7f8 100644 --- a/user-docs/changelog.md +++ b/user-docs/changelog.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Release Notes: [release-notes.md](release-notes.md), there you will find short and sweet release notes. +> [!NOTE] +> This is more sort of a finial file.. Update before every offical release of passcodes.. +> For raw changelog.md refer individual assocaited repository.. ## Link From 8a07f727b87c7449c2a1737b559caa3eb6962954 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sun, 21 Sep 2025 15:04:31 +0530 Subject: [PATCH 27/32] refactor: fix typo --- README.md | 4 ++-- user-docs/changelog.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 174a3f4..1af8eb5 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,6 @@ This works same as contributing to repository.. create your branch in this repo, ## Note -You will find all the docs releated to the `Passcodes` and other project under `PasscodesApp` github organization.. -This is single place that you need refer for any docs or updates.. +Here, You will find all the docs releated to the `Passcodes` and other project under `PasscodesApp` github organization.. +This is single place that you need refer, for any docs or updates.. diff --git a/user-docs/changelog.md b/user-docs/changelog.md index 4fae7f8..e3c1f47 100644 --- a/user-docs/changelog.md +++ b/user-docs/changelog.md @@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Release Notes: [release-notes.md](release-notes.md), there you will find short and sweet release notes. > [!NOTE] -> This is more sort of a finial file.. Update before every offical release of passcodes.. +> This is more sort of a final file.. Update before every offical release of passcodes.. > For raw changelog.md refer individual assocaited repository.. ## Link From 60568d3fdd1045af7f8b1cfe8cef78fb5796023b Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Sun, 21 Sep 2025 15:24:15 +0530 Subject: [PATCH 28/32] docs: add c-commit hook --- essentials/commit-msg-git-hook-template | 56 +++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 essentials/commit-msg-git-hook-template diff --git a/essentials/commit-msg-git-hook-template b/essentials/commit-msg-git-hook-template new file mode 100644 index 0000000..5a2c066 --- /dev/null +++ b/essentials/commit-msg-git-hook-template @@ -0,0 +1,56 @@ +1. Copy the script below into your repository's `.git/hooks/commit-msg` file. + +2. Make the script executable by running: `chmod +x .git/hooks/commit-msg` + +Start committing! The hook will automatically validate your commit messages. + + +```bash +#!/usr/bin/env bash + +# Path to the commit message file (provided by Git). +COMMIT_MSG_FILE=$1 + +# Ignore automatic commit messages containing ' into ' or 'Merge'. +if grep --quiet --extended-regexp " into |^Merge " "$COMMIT_MSG_FILE"; then + exit 0 +fi + +# Read the commit message from the file. +COMMIT_MSG=$(cat "$COMMIT_MSG_FILE") + +CONVENTIONAL_COMMIT_REGEX='^(feat|fix|docs|style|refactor|test|chore|build|ci|perf|revert)(\([a-z0-9_.-]+\))?(!)?:\s.*$' + +# Check if the commit message matches the regex. +if ! [[ $COMMIT_MSG =~ $CONVENTIONAL_COMMIT_REGEX ]]; then + echo "ERROR: Commit message does not follow Conventional Commits format." + echo + echo "The commit message should be structured as follows:" + echo "(): " + echo "[optional body]" + echo "[optional footer(s)]" + echo + echo "Valid types are:" + echo " feat: A new feature." + echo " fix: A bug fix." + echo " docs: Documentation changes." + echo " style: Code style changes (formatting, missing semicolons, etc.)." + echo " refactor: Code refactoring (neither fixes a bug nor adds a feature)." + echo " test: Adding or updating tests." + echo " chore: Routine tasks like updating dependencies or build tools." + echo " build: Changes affecting the build system or external dependencies." + echo " ci: Changes to CI configuration files or scripts." + echo " perf: Performance improvements." + echo " revert: Reverting a previous commit." + echo + echo "Examples:" + echo " feat(auth): add login functionality" + echo " fix(api)!: resolve timeout issue" + echo " docs(readme): update installation instructions" + echo + exit 1 +fi + +exit 0 +``` + From 85bcd78bbee78b82aee83c6be4e1676d3e58b9d8 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya <136002730+JeelDobariya38@users.noreply.github.com> Date: Sun, 21 Sep 2025 21:54:30 +0530 Subject: [PATCH 29/32] docs: update open-contributing-timeline.md --- other-docs/open-contributing-timeline.md | 36 +++++++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/other-docs/open-contributing-timeline.md b/other-docs/open-contributing-timeline.md index cdd04f9..6581efb 100644 --- a/other-docs/open-contributing-timeline.md +++ b/other-docs/open-contributing-timeline.md @@ -8,10 +8,11 @@ Besides, it help cordinate the contribution process.... Also, we aim to provide > [!NOTE] > You can current still contribute to the repository, if you plan to do so... But just keep in mind that, while do so, you may feel like everything is behind you, > and fight against you.. and this will slow you down.. also expect, less streamline process and you also expect some of your time waste.. +> > But, I will try my best to help as much as possible, on our telegram community.. to get you start on working.. but just keep this document and this entire thing in mind... -## Steps Required To Cordinate Open Contributing.. +## Steps Required To Cordinate Open Contributing... - [X] Obviously, Idea!! (Aug 1, 2024) @@ -21,7 +22,7 @@ Besides, it help cordinate the contribution process.... Also, we aim to provide - [X] `JeelDobariya38/Password-Manager` -> `JeelDobariya38/Passcodes` & Community Standards For Repository. (Aug 1, 2025) -> Somehow, it is excatly after year!! [#17](https://github.com/PasscodesApp/Passcodes/pull/17) I just realized while write this document.. +> Somehow, it is exactly after year!! [#17](https://github.com/PasscodesApp/Passcodes/pull/17) I just realized while write this document.. - [X] Migrate Codebase: `Java -> Kotlin` (Aug 1, 2025) @@ -29,13 +30,40 @@ Besides, it help cordinate the contribution process.... Also, we aim to provide - [X] Offically Organization on Github [JeelDobariya38 -> PasscodesApp](https://github.com/PasscodesApp) (Aug 31, 2025) -- [ ] Improve Structure & Organization.. i.e segegrate app code, docs and website into different stuff (end of sep 2025) +- [ ] Improve Structure & Organization.. i.e segregate app code, docs and website into different stuff (end of sep 2025) -- [ ] `MVC -> MVVM` architure update.. i.e current is more like mvc we move to mvvm as it is an industry strandard (end of oct 2025) +- [ ] `MVC -> MVVM` architecture update.. i.e current is more like mvc we move to mvvm as it is an industry standard (end of oct 2025) - [ ] `XML -> Jetpack Compose` (end of nov 2025) +- [ ] Documentation Update (in entire december) + - [ ] Plan for Google Developer Verification, i mean we will discuss about it. (in december how manage or cordinate with it) - [ ] Open For Contribute (Roughly, 31 Dec, end of 2025) +--- + +### Semi Open To Contribute (start of jan 2026) + +> [!IMPORTANT] +> The Organisation is from this point, open to receive any contribution from any potential contributors.. +> +> The reason, it is not fully open to contributing is solely because of this developer verification thing... the thing is I don't want anyone to waste there time contributing to this repository.. because, I might end up not make verification due to some or other reason... and this might result in waste of other developer waste of there valuable time.. because without verification the application might not be release as google wouldn't allow it to install on android devices.... +> +> Other then this, or If this thing doesn't impact you in anyway then you count the repository as fuly open to contribute but just have note of it.. + +- [ ] Find Contributor, Also Review & Update The Contribution Workflow & Get Feedback. (end mar 2026) + +- [ ] Me, Doing Developer Verification Of `JeelDobariya38`... (can't say how time it takes but probably it completely by mid of july 2026) + +- [ ] Open To Contribution (Aug, 2025) + +--- + +### Open To Contribution + +> [!NOTE] +> Further improvements to contributing workflow will driven by feedback and contributor input... +> +> As cordinating contribution is a contiguous process and not a task that can not be done... From 844551ff3ec549047b39451512727adece04153d Mon Sep 17 00:00:00 2001 From: Jeel Dobariya Date: Tue, 23 Sep 2025 13:38:17 +0530 Subject: [PATCH 30/32] improve structure --- ...mmit-msg-git-hook-template => commit-msg-git-hook-template.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename essentials/{commit-msg-git-hook-template => commit-msg-git-hook-template.md} (100%) diff --git a/essentials/commit-msg-git-hook-template b/essentials/commit-msg-git-hook-template.md similarity index 100% rename from essentials/commit-msg-git-hook-template rename to essentials/commit-msg-git-hook-template.md From 6c289f48584a4549344750c052b8552b858edea2 Mon Sep 17 00:00:00 2001 From: Jeel Dobariya <136002730+JeelDobariya38@users.noreply.github.com> Date: Tue, 23 Sep 2025 22:57:16 +0530 Subject: [PATCH 31/32] docs: terms-for-contributions.md --- other-docs/terms-for-contributions.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 other-docs/terms-for-contributions.md diff --git a/other-docs/terms-for-contributions.md b/other-docs/terms-for-contributions.md new file mode 100644 index 0000000..50e7303 --- /dev/null +++ b/other-docs/terms-for-contributions.md @@ -0,0 +1,23 @@ +# Terms For Contributions + +**Date**: Sept 23, 2025. +**Author**: `JeelDobariya38` + +> [!IMPORTANT] +> By contributing to any of repository maintain under GitHub Organisation `PasscodesApp`, you automatically accept this terms for contributions.. + +1) All contributors are here by inform that, I will not be liable to pay them by any means, if in future I decide to make the project monetize in some or there form... +2) Contribution (each commit) made to repository, should be treat as a individual contributor sign off there work and in no terms, you will be able to ask for any benifits for your contributions... +3) And your contribution to the repository will maintain indefinitely under project license and might end up getting monetize by me... +4) Also be sure that your contribution will be public and your name might be there as part of credit or as collaborator on social media.. like on linkedin and on our telegram community... +5) In, 1, 2, 3, 4.. term contribution refer to any kind of contribution either in terms code, in docs in website or can be even as simple as suggestion or test app. + +## Casual Explanation + +I know, all above write stuff look super professional and to some level super rude too.. but, I just want to be very clear with contributor from early on that this might be a thing in future... so, that no one intrested and work is waste and at end of day every one feel safe to contribute with clear idea of what they can expect... + +I have recently, think that I am get a great response for my project... (thank you for that) atleast the response I get utill on telegram is far high, then what I expected... i initially wasn't expecting this much i was expecting passcodes as hobby project... So, I am decided or planning towards monetize this project in future... so i just wanna to be clear with contributors about it... + +By no mean what write above is a legal document. It just a claim or document write by me... and what write about is, I think (utill my knowledge). it always a silent, unsaid rule in open source. but, i just want to be clear. and I hope you all be accepted it and pretend like it a legal document and follow it... + +For any questions or doubt, you reach out to me directly on telegram community... https://t.me/passcodescommunity. From e3a436123715c1ec6d0857c9528d23d7a2c05a7e Mon Sep 17 00:00:00 2001 From: Jeel Dobariya <136002730+JeelDobariya38@users.noreply.github.com> Date: Tue, 23 Sep 2025 23:37:29 +0530 Subject: [PATCH 32/32] docs: Update terms-for-contributions.md --- other-docs/terms-for-contributions.md | 29 ++++++++++++++++----------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/other-docs/terms-for-contributions.md b/other-docs/terms-for-contributions.md index 50e7303..aed6ce7 100644 --- a/other-docs/terms-for-contributions.md +++ b/other-docs/terms-for-contributions.md @@ -1,23 +1,28 @@ # Terms For Contributions -**Date**: Sept 23, 2025. -**Author**: `JeelDobariya38` +- **Date**: Sept 23, 2025. +- **Author**: `@JeelDobariya38` > [!IMPORTANT] -> By contributing to any of repository maintain under GitHub Organisation `PasscodesApp`, you automatically accept this terms for contributions.. +> By contributing to any of repositorys maintain under GitHub Organisation `PasscodesApp`, you automatically accept this terms for contributions.. + +1) All the contributors are here by inform that, I will not be liable to pay them by any means, if in future, I decide to make the project monetize in some or there way... + +2) Contribution (each commit) made to repository, should be treat as a individual contributor sign off there work and in no terms, you will be able to ask for any benifits for your contributions... (it recommend to use `git commit -s -m "..." which signoff your commit`, but even if you don't do that, I will always count you, as you have signed off..) + +3) Any of your contribution to the repository will be maintain indefinitely, under project license and might end up getting monetize by me... + +4) Also be sure that your contribution will be public records and your name might be there as part of credit or as collaborator on social media.. like on linkedin and on our telegram community... + +5) In, 1, 2, 3, 4.. term `contribution` refer to any and every kind of contribution, either in terms of code, in docs, in website or can be even as simple and as small as a suggestion or testing of a app. -1) All contributors are here by inform that, I will not be liable to pay them by any means, if in future I decide to make the project monetize in some or there form... -2) Contribution (each commit) made to repository, should be treat as a individual contributor sign off there work and in no terms, you will be able to ask for any benifits for your contributions... -3) And your contribution to the repository will maintain indefinitely under project license and might end up getting monetize by me... -4) Also be sure that your contribution will be public and your name might be there as part of credit or as collaborator on social media.. like on linkedin and on our telegram community... -5) In, 1, 2, 3, 4.. term contribution refer to any kind of contribution either in terms code, in docs in website or can be even as simple as suggestion or test app. ## Casual Explanation -I know, all above write stuff look super professional and to some level super rude too.. but, I just want to be very clear with contributor from early on that this might be a thing in future... so, that no one intrested and work is waste and at end of day every one feel safe to contribute with clear idea of what they can expect... +I know, all of above writing stuff, look super professional and to a some level super rude too.. but, I just want to be very clear with contributor from early on that this might be a thing in future... so, that no one's intrested and work is waste and at end of day every one feel safe to contribute with clear idea of what they can expect... -I have recently, think that I am get a great response for my project... (thank you for that) atleast the response I get utill on telegram is far high, then what I expected... i initially wasn't expecting this much i was expecting passcodes as hobby project... So, I am decided or planning towards monetize this project in future... so i just wanna to be clear with contributors about it... +I have recently, think that I am get a great response for my project... (thank you for that 💜) atleast the response I get utill on telegram community is far high, then what I expected in earlier days... I initially wasn't expecting this much, I was expecting passcodes as my own hobby project... but I turn out to be super good.. So, I am deciding or planning towards monetize this project in future... so, I just wanna to be clear with contributors, about it... as earlier as possible.. -By no mean what write above is a legal document. It just a claim or document write by me... and what write about is, I think (utill my knowledge). it always a silent, unsaid rule in open source. but, i just want to be clear. and I hope you all be accepted it and pretend like it a legal document and follow it... +Note that, By no means, what write above is a legal document. It just a claim or document write by me... and what I write above is, is something I think (utill my knowledge). is always being a silent, unsaid rule in open source. but, I just want to be clear. and I hope you all will accepted it and pretend like it a legal document and follow it... 😂 -For any questions or doubt, you reach out to me directly on telegram community... https://t.me/passcodescommunity. +For any questions or doubt, you reach out to me directly on telegram community... (https://t.me/passcodescommunity)