Banking Ecosystem Simulation
A full-scale banking ecosystem with 4 interconnected applications: ATM Client, Admin Dashboard, Core Banking API, and a Mobile Banking app — built with .NET 10, WPF, ASP.NET Core, C++, and Flutter.

About this Project
Banking Ecosystem Simulation adalah proyek perangkat lunak skala besar yang membangun ekosistem perbankan lengkap dari nol — bukan sekadar simulasi sederhana, tetapi sebuah sistem dengan empat aplikasi nyata yang saling terhubung melalui satu backend terpusat.
Empat aplikasi utama yang dibangun: • ATM Client (WPF/.NET 10) — UI mesin ATM yang realistis dengan alur lengkap: insert kartu, PIN entry, tarik tunai, setor tunai, transfer antar rekening, cek saldo, mini statement, ganti PIN, dan cetak struk digital. • Admin Dashboard (WPF/.NET 10) — Panel kantor bank untuk manajemen nasabah, penerbitan kartu, pengelolaan ATM (refill, status on/offline), monitoring transaksi real-time, audit log, dan manajemen pengguna mobile banking. • Core Banking API (ASP.NET Core/.NET 10) — Server backend terpusat dengan 8 controller (Auth, Account, Card, Transaction, Transfer, Admin, MbankingAdmin, Bank) yang menangani seluruh logika bisnis, autentikasi JWT, dan database SQL Server via Entity Framework Core. • Mobile Banking Client (Flutter) — Aplikasi mobile multi-fitur dengan dashboard, riwayat transaksi, transfer, QRIS, pesan notifikasi, pengaturan akun, dan fitur Sukha.
Untuk meniru perangkat keras fisik ATM, dibangun Native DLL menggunakan C++ yang mensimulasikan card reader, cash dispenser, keypad, dan receipt printer — semuanya dipanggil dari C# melalui P/Invoke. Keamanan transmisi PIN menggunakan simulasi enkripsi End-to-End (XOR encryption di layer C++) sebelum diverifikasi dengan BCrypt di backend.
Arsitektur proyek menggunakan N-Tier pattern dengan Dependency Injection dan MVVM, dilengkapi comprehensive test suite (xUnit + Moq) mencakup unit tests, integration tests, backend service tests, session tests, dan end-to-end scenario tests — seluruhnya lulus 50/50 test case.