A hybrid mobile app built with the Ionic framework and SvelteKit, allowing users to securely handle their credentials and verify them with the DIDroom stack.
Download the latest test release on your Android device and install the APK:
The app follows a structured deployment approach across different environments, allowing for gradual and controlled releases. Below is a breakdown of the deployment intentions and how versioning is managed across different deployment types:
Deployment Type | Environment | Version Name | Version Code |
---|---|---|---|
github-release | prod | Semantic Versioning | Semantic versioning without dot |
beta | prod | Semantic Versioning - beta | Max version code on PlayStore + 1 |
alpha | staging | Semantic Versioning - alpha | Max version code on PlayStore + 1 |
firebase | staging | Semantic Versioning - PR number | PR number |
-beta
label, and the version code is incremented from the current max version in the Play Store.-alpha
label, and the version code will increment similarly to beta.To be included as a tester for closed alpha or Firebase releases, please email us at:
📧 info@forkbomb.eu
Once added, you will receive instructions on how to download the app and provide feedback.
Provide an existing email and a password (minimum 8 characters) to create a new user. Generate your own mnemonic phrase by answering security questions. While it is possible to recover the password, the mnemonic phrase is strictly personal and should be stored in a safe place. You can recover the mnemonic phrase by answering the security questions again.
Login with your email and password. Then, type your mnemonic phrase to access the wallet.
In the profile page, you can change language settings or log out the current user.
The app will request permission to access the camera. This is necessary for scanning QR codes.
The wallet is the main page of the app. Here you can see your balance and the list of your credentials. You can also add a new credential by scanning a QR code or by selecting a credential issuer from the list.
You can verify your credentials by scanning the QR code from the Verifier App. The app will display the result of the verification and send the result to the verifier. You can review all the data shared with the authorization server before sending it.
The activities page shows the history of your interactions with the app. Here you can see the list of credentials obtained or expired and the list of verifications made.
Ensure you have the following tools installed on your machine:
Refer to the Ionic Installation Guide for more information.
Create a .env
file in the root of the project containing the PUBLIC_BACKEND_URL
variable. This is the URL of the DIDroom dashboard. You can clone the dashboard from here.
Clone the repository:
git clone --recursive https://github.com/ForkbombEu/wallet.git
Install dependencies:
pnpm install
Sync dependencies with Capacitor:
pnpm cap sync
Run the app in the browser (note that it will have some limitations compared to the native app):
pnpm web
Run the app on Android:
pnpm android
Run the app on iOS:
pnpm ios
The theme of the app is defined in the src/theme/variables.css
file. You can change the colors and fonts of the app by defining the following variables for light and dark themes:
--surface
--primary
--primary-text
--secondary-text
--accent
--on-accent
--highlight
--success
--warning
--error
--statusbar
--stroke
--ion-default-font
--ion-font-family
For further configuration, clone the didroom-components repository and follow the instructions in the README file. Ensure the app in src/routes/+layout uses the new components.
Install playwright:
npx playwright install --with-deps
In order to launch the tests, you need to install playwright and to have a local copy of the DIDroom dashboard running. You can copy the db for testing contained in /tests/fixtures/test.db
in signroom/admin/pb_data/data.db
then run in that folder:
go build
./pb migrate
./pb serve &
Run the tests passing envoiroment variables:
USER_EMAIL=testuser@test.tv USER_PASSWORD=12345678 USER_SEED="skin buyer sunset person run push elevator under debris soft surge man" pnpm test:integration
Please first take a look at the our Contributor License Agreement then
git checkout -b feature/branch
git commit -am 'feat: New feature\ncloses #398'
git push origin feature/branch
gh pr create -f
🌱 Ecosystem - W3C-DID Dyne, Signroom, Zenroom, Didroom
🚩 Issues - Bugs end errors you encounter using {project_name}.
[] Matrix - Hanging out with the community.
🗣️ Discord - Hanging out with the community.
🪁 Telegram - Hanging out with the community.
Copyleft 🄯 2024 by Forkbomb BV, Amsterdam
Designed by Micol Salomone and Ayse Mete coded by Puria Nafisi Azizi
Path bug
If you get an error like:
SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable or by setting the sdk.dir path in your project's local properties file at '/Users/<HOME_NAME>/Documents/GitHub/wallet/android/local.properties'.
duplicate android/local.properties.example
as android/local.properties
and set correct path