GIỚI THIỆU

Vì sao dự án này tồn tại.

Một dự án thực tập với bài toán mang hình dáng production: đặt một stack JSON/GraphQL hiện đại trước một hệ thống core banking XML/SOAP đời cũ.

WAY4 Connect là ứng dụng web full-stack được xây để học cách một front end ngân hàng thật sự được ghép lại — và để chứng minh rằng phần gai góc của tích hợp core banking có thể giấu hoàn toàn sau một API sạch sẽ, có kiểu.

Mục tiêu

Xây ứng dụng NestJS + Next.js quản lý User và Contract, xác thực bằng JWT, và tích hợp với WAY4 qua adapter layer SOAP/XML — mà không để lọt chút XML nào ra frontend.

Công nghệ

NestJS, Apollo GraphQL, Prisma, PostgreSQL, Redis, Passport + JWT ở phía server. Next.js 15 App Router, TypeScript, Redux Toolkit, TanStack Query & Table, Tailwind và i18next ở phía client.

Luồng chính

Create Client → Create Contract → Create Issuing Contract → Create Card → Activate, song song với việc đọc ngược dữ liệu client, hợp đồng, số dư và giao dịch từ WAY4.

GIỚI THIỆU

Nó được xây thế nào.

Bốn quyết định đã định hình gần như mọi file trong repository.

Một hành động, một API

Mỗi nút trên giao diện tương ứng đúng một API WAY4 có tên. Không điều phối ngầm, không tác dụng phụ bất ngờ.

Có kiểu từ trên xuống dưới

Schema GraphQL code-first khiến frontend và backend không bao giờ lệch nhau về một field mà không ai hay.

Phiên đăng nhập sống sót qua F5

Access token chỉ nằm trong bộ nhớ; refresh token xoay vòng trong cookie httpOnly khôi phục phiên một cách âm thầm khi tải trang.

Thông báo lỗi trung thực

Mã trả về của WAY4 được phân tích và hiển thị thành lỗi dễ đọc thay vì một SOAP fault thô.

Thử dạo một vòng.

Tạo tài khoản và toàn bộ luồng — client, hợp đồng, thẻ, sao kê — sẽ chạy thật trên sandbox WAY4.

Bắt đầu