Skip to content
@VirtualWallet-Wallty

Wallty

A full-stack virtual wallet Android app with multi-currency support, QR transfers, NFC payments, and a Spring Boot REST API backend.
Wallty Logo

A modern virtual wallet platform for managing finances across multiple currencies.


Wallty is separated across 3 repositories

📱 Android Client - Kotlin · Jetpack Compose · MVVM

android

⚙️ Backend API - Spring Boot · REST · MySQL

service-api

📄 Docs & Assets - Figma · Screenshots · Design

docs



🛠 Tech Stack

Layer Technology
Mobile UI Kotlin, Jetpack Compose
Architecture MVVM, Repository Pattern
Networking Retrofit, OkHttp
Backend Java, Spring Boot
Security Spring Security, JWT (HTTP Cookie)
ORM Hibernate, Spring Data JPA
Database MySQL
External API ExchangeRate API, RestClient
UI Design Figma
API Testing Postman


✨ Features

Feature Description
👛 Multi-wallet management Create and manage multiple wallets, each tied to a specific currency; set a default wallet used automatically in operations
💳 Payment cards Add, activate, deactivate, and remove cards; use them to top up wallet balances
🔄 Transfers Send funds to other users via QR code scanning; transfer funds between your own wallets
📲 Payments NFC-simulated payment flow with a POS terminal interface (Pay Mode)
💱 Currency conversion Automatic real-time conversion using live exchange rates
📊 Transaction history Full history with filtering by wallet, card, type, direction, date range and sorting options
🔐 Role-based access User and admin roles with controlled access to sensitive operations
🌐 Bilingual UI English and Bulgarian language support


🚀 How to Run

1. Complete all steps from Backend (service-api)

2. Complete all steps from Client (android)



🏗 Architecture

Wallty follows a client-server architecture. The Android app communicates with a Spring Boot REST API over HTTP, which handles all business logic, security, and data persistence. An external exchange rate API is integrated on the backend side to support multi-currency operations.

Architecture Diagram

📸 Screenshots

Login & Registration

Login Screen     Register Screen

Wallet Management

Home     All Wallets     Edit Wallets

Cards & Top Up

Cards     Top Up

Transfers

Transfer Receive     Transfer Send     Transfer Send Options

Transactions

Transactions     Filters     Details

👤 Contact

🐙 GitHub Profile

💼 LinkedIn Profile

✉️ todorkrushkov.1304@gmail.com


Developed as a course project @ Technical University of Sofia

Faculty of Computer Systems and Technologies — Computer & Software Engineering

Pinned Loading

  1. docs docs Public

    All information for the project.

  2. service-api service-api Public

    Wallty Backend API

    Java 1

  3. android android Public

    Wallty Android App

    Kotlin

Repositories

Showing 4 of 4 repositories

Top languages

Loading…

Most used topics

Loading…