impierce / identity-wallet

A Tauri-based Identity Wallet for people to manage Decentralized Identities and Verifiable Credentials.

Home Page:https://www.impierce.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

banner.svg


UniMe - Identity Wallet

Identity Wallet for people to manage Decentralized Identities and Verifiable Credentials.

Tech stack

This app is built with Tauri 2.0. It uses Rust in the backend and SvelteKit, Tailwind CSS, and Melt UI in the frontend.

Develop

This repository uses npm workspaces:

Path Description
./ Project root with Prettier configuration.
./unime NPM workspace UniMe frontend.
./unime/src-tauri Tauri Rust app (not an NPM workspace).
./identity-wallet Rust package with UniMe backend (not an NPM workspace).

Get up and running with these steps:

1. Set environment variables

Copy the file .env.example to .env and set the values accordingly.

2. Install dependencies

npm install

3. Generate icons

cd unime/src-tauri
cargo tauri icon

4. Run the app

You can run the following commands from the project root:

# Desktop
npm run tauri dev

# Android
npm run tauri android init
npm run tauri android dev

# iOS
npm run tauri ios init
npm run tauri ios dev

Contributing

Note

Before committing, please make sure the code is formatted, linted, and passes all tests.

UniMe frontend

Run the following commands from the project root:

npm run format
npm run lint
npm run test

Run these commands from ./unime/src-tauri:

cargo fmt
cargo clippy
cargo test

UniMe backend package

Run these commands from ./identity-wallet:

cargo fmt
cargo clippy
cargo test

VS Code support

Recommended extensions are listed in .vscode/extensions.json.

Troubleshooting

If you have issues with cargo tauri build run the following command.

# Linux, macOS
rm -rf ~/.cargo/git/checkouts/*

# Windows
rd /s /q "%USERPROFILE%\.cargo\git\checkouts"

About

A Tauri-based Identity Wallet for people to manage Decentralized Identities and Verifiable Credentials.

https://www.impierce.com

License:Apache License 2.0


Languages

Language:Rust 43.1%Language:Svelte 37.1%Language:TypeScript 18.4%Language:JavaScript 0.7%Language:CSS 0.7%Language:HTML 0.1%