Jinho (Roy) Yon
Back to ProjectsFullstack Marketplace Platform · Apr 2026 – May 2026

Fitsbug — Fitness Marketplace Platform

Full payment lifecycle: ready → success → cancel → refund
Dashboard
Tech Stack
JavaServletsMyBatisMySQLREST APIsAJAXToss Payments

Objective

Give independent personal trainers one place to manage bookings, clients, and payments instead of juggling manual scheduling and separate payment tools.

The Problem

Trainers needed reservation management, session history, and real payment processing — including cancellations and refunds — without an existing marketplace platform built for that workflow.

Approach

Designed the relational schema for members, bookings, and payments, then built the reservation flow (calendar, booking, session history) on top of 20+ Java servlets and 10+ MyBatis mappers. Integrated Toss Payments for the full payment lifecycle (ready → success → cancel → refund), and validated it through end-to-end manual testing across cancellation and refund edge cases.

Challenges

  • Modeling booking and payment state transitions correctly — especially cancel/refund edge cases — without an ORM's built-in state machine to lean on.
  • Keeping the calendar and booking UI in sync with backend state via AJAX without a frontend framework doing that work for me.

What I Learned

  • Designing a payment lifecycle state machine from scratch against a real payment gateway, rather than trusting a library to handle the edge cases.
  • Writing MyBatis mappers directly gave more visibility into the actual SQL being run than a heavier ORM would have.

Open to Software Engineering opportunities.

Recent UC Davis CS&E graduate looking for full-time roles in fullstack and applied AI/LLM engineering.

Jinho (Roy) Yon — Software Engineer.
Building fullstack products and AI-powered systems.

© 2026 Jinho Yon.