Skip to content
View zzzyoonnn's full-sized avatar

Block or report zzzyoonnn

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
zzzyoonnn/README.md

πŸ‘‹ Hi, I'm Jiyoon

Backend Engineer focused on transaction processing systems, payment architecture, and distributed backend applications.

Interested in building reliable financial systems that guarantee atomicity, consistency, and data integrity under high-concurrency environments.

Currently exploring:

  • Java
  • Spring Boot
  • Kafka
  • Payment Systems
  • JVM Performance
  • Distributed Systems

πŸ’³ FinFlow-backend

Repository: https://github.com/zzzyoonnn/FinFlow-backend

FinFlow is a backend project that simulates core banking operations with a focus on transactional integrity, consistency, and auditability. It explores how financial systems safely process deposits, withdrawals, and transfers while maintaining reliable account state.

Designed and implemented essential banking operations including:

  • Deposit
  • Withdrawal
  • Transfer
  • Transaction history management

Key Contributions

  • Designed withdrawal and transfer workflows within a single transactional boundary, guaranteeing atomic state changes across account and transaction entities.
  • Applied domain-driven design principles by encapsulating business rules and invariants within the domain model, preventing invalid account states.
  • Centralized request logging and execution monitoring using Spring AOP, reducing duplication across service components.
  • Implemented transaction ledger recording with balance snapshots, enabling full traceability of account state changes and financial audits.
  • Structured transaction processing flows into validation, state mutation, persistence, and response stages to improve maintainability and clarity.
  • Eliminated N+1 query problems using Fetch Join, reducing database round-trips and improving transaction history retrieval performance by 30%.
  • Deployed the application on AWS EC2 with MySQL hosted on Amazon RDS, establishing a production-like environment for end-to-end testing.

Through this implementation, I became particularly interested in how financial systems prevent data inconsistency, race conditions, and double execution under concurrent requests.

πŸ‘‰ Core Banking Service Implementation: AccountService.java

πŸ“ Related Articles


πŸ”„ Servlet2Spring

Repository: https://github.com/zzzyoonnn/Servlet2Spring

This project reflects my growth in understanding backend architecture evolution and framework-driven design.

Started with a JSP-based architecture and progressively evolved it into Spring MVC and Spring Boot.

Key Contributions

  • Replaced manual request handling and dependency management in Servlet-based architecture with Spring MVC and dependency injection, improving maintainability and testability.
  • Migrated authentication from session-based login to Spring Security with JWT, improving scalability and decoupling authentication from server-side state.
  • Integrated Spring Security to centralize authentication and authorization logic, reducing security-related code duplication.
  • Deployed the migrated application on AWS using EC2, RDS, and S3, enabling cloud-native application management and deployment.

This migration process taught me the importance of modernizing systems without compromising stability, especially in environments where reliability is critical.


πŸ›  Tech Stack

Backend

  • Java 21
  • Spring Boot
  • Spring Data JPA
  • Spring Security (JWT)

Database

  • MySQL
  • H2 (for testing)

Infrastructure

  • AWS (EC2, RDS, S3)

Build Tool

  • Maven

🎯 Professional Interest

  • Core Banking Systems
  • Transaction Processing
  • Financial Data Integrity
  • High-reliability Backend Systems

πŸ’‘ What I Aim to Build

I aim to build backend systems where correctness and reliability are prioritized over feature speed β€” especially in domains where data integrity is critical.

Pinned Loading

  1. java-convenience-store-7-zzzyoonnn java-convenience-store-7-zzzyoonnn Public

    μš°μ•„ν•œν…Œν¬μ½”μŠ€ ν”„λ¦¬μ½”μŠ€ 7κΈ° 4μ£Ό μ°¨

    Java

  2. Servlet2Spring Servlet2Spring Public

    μ„œλΈ”λ¦Ώμ—μ„œ μŠ€ν”„λ§μœΌλ‘œ λ³€ν™˜ν•˜λŠ” ν”„λ‘œμ νŠΈ

    CSS

  3. FinFlow-backend FinFlow-backend Public

    Spring Boot–based backend service implementing core banking domain logic for FinFlow.

    Java

  4. FinFlow-frontend FinFlow-frontend Public

    React-based frontend application for the FinFlow fintech platform.

    TypeScript