Digital Money House is a production-grade digital wallet platform built on a Java Spring Boot microservices architecture. It exposes a unified REST API through an API Gateway, covering everything from user registration and JWT authentication to account management, linked card handling, peer-to-peer money transfers, and a full activity history with downloadable PDF receipts.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Gianluca-X/DigitalMoney/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Deploy the full stack and make your first API call in minutes using Docker Compose.
Architecture
Understand how the six microservices communicate through the Gateway and Eureka.
API Reference
Explore every endpoint — auth, users, accounts, cards, transfers, and activity.
Deployment
Configure environment variables and run the full stack locally or in production.
What’s inside
Digital Money House is composed of six independent services, each with its own database schema and responsibility boundary:Auth Service
JWT generation, email verification, and credential management.
User Service
User registration, profile updates, and alias management.
Accounts Service
Account balances, linked cards, transfers, and activity history.
API Gateway
Centralized routing, JWT validation, and CORS for all services.
Security & Reliability
Pessimistic locking, atomic transactions, and role-based access control.
Error Handling
Global exception handlers and standardized error response shapes.
Get started in three steps
Clone and configure
Clone the repository and copy the
.env file with your database credentials, JWT secret, and service URLs.Start the stack
Run
docker-compose up to bring up MySQL, RabbitMQ, Eureka, Config Server, Gateway, and all three business services.The API Gateway listens on port 8085. All client requests should target
http://localhost:8085 — direct service ports are for internal use only.