Voucher Wallet Client (Tauri Prototype)
This repository contains the source code for a cross-platform desktop wallet for a decentralized voucher system. It is built as a prototype using the Tauri framework, ensuring it runs on Windows, macOS, and Linux from a single codebase.
The application serves as a client for the voucher_lib
Rust library, which handles all core business logic for the voucher system.
This prototype focuses on implementing the essential wallet functionalities:
- Profile Management: Create a new user profile or log in to an existing one.
- Dashboard View: Display the user's total balance aggregated by currency and list all available vouchers.
- Transactions: Create and receive voucher transfers through secure data bundles.
The project follows a strict separation between the backend and frontend, ensuring a clean and maintainable architecture.
- Framework: Tauri for building a lightweight and secure desktop application using web technologies for the frontend.
- Backend: Written in Rust, the backend acts as a thin bridge, exposing functions from the
voucher_lib
to the frontend via Tauri commands. It contains no business logic itself. - Frontend: A modern, responsive UI built with React, TypeScript, and styled with Tailwind CSS.
- State Management: Utilizes React's native
useState
hook for simplicity in this prototype stage.
To build and run this project, you need to have the following installed on your system:
-
Clone the repository:
git clone <your-repository-url> cd <repository-folder>
-
Install frontend dependencies:
npm install
-
Run the application in development mode: This command will start the frontend's Vite dev server and the Tauri backend process.
npm run tauri dev
Alternatively, you can use the provided shell script:
./start-dev.sh
This project is licensed under the MIT License. See the LICENSE
file for more details.