Digital Wallet System is a full-featured fintech backend application built using .NET 10 and Clean Architecture principles. The system allows users to manage digital wallets, perform deposits, withdrawals, and transfers, and maintain a secure ledger for all transactions. This project is designed as a real-world digital wallet platform suitable for learning, testing, or as a portfolio-ready project.
- Register and login with JWT + refresh tokens
- Role-based access control (User/Admin)
- Each user has one or more wallets
- Supports multiple currencies
- Balance tracking and wallet status management
- Deposit, Withdraw, and Transfer between users
- Transaction history with filters and pagination
- Immutable ledger entries for audit and consistency
- Prevent negative balances and invalid transfers
- JWT authentication and optional 2FA
- Idempotency support to avoid duplicate operations
- Notify users of deposits, withdrawals, and transfers
- Real-time push notifications (optional SignalR)
- Backend: .NET 10, ASP.NET Core, C#
- Database: EF Core (SQL Server / Postgres)
- Authentication: JWT + Refresh Tokens
- API Documentation: Swagger / OpenAPI
- Design: Clean Architecture with CQRS and MediatR
- Optional: SignalR for real-time notifications
This project is designed to:
- Demonstrate real-world backend development skills for fintech applications.
- Showcase Clean Architecture, CQRS, and proper API design.
- Serve as a portfolio project for interviews, highlighting transactional consistency, security, and scalability.