Skip to content
vinhnq.com
All projects

Wala-ICT

S-Space

Pilates & fitness studio SaaS

Backend Engineer · Team of 5 · live at s-space.co.kr

The problem

A live microservices platform needed dependable releases and day-to-day production support.

Architecture

RequestReleaseUsersCloudFrontS3 static assetsALBECS Fargateauth · user · centerRDS MySQLMulti-AZGitLab CIECRECS Fargate
S-Space production architecture

Simplified view, no client internals.

What I delivered

  • Maintained and debugged the production AWS environment: VPC with private subnets, ECS Fargate, Multi-AZ RDS, ALB, CloudFront, S3, and Secrets Manager.
  • Handled production releases through GitLab CI → ECR → ECS Fargate as main backend maintainer of the auth, user, and center services.
  • Built a reconciliation job that recovers payments with lost success callbacks and expires stale pending ones.
  • Extended Toss Payments with a head-office merchant flow for B2B orders: idempotent confirmation, cancel and refund, fee and settlement tracking.
  • Implemented configurable payroll settlement periods and migrated legacy member data with re-runnable scripts, verified on staging first.

Key decisions

Treat a payment callback as something that can get lost

A success callback is not guaranteed to arrive, so a reconciliation job recovers those payments and expires stale pending ones.

Make data migration re-runnable

Legacy member data moved with scripts that can run again safely, and each run was verified on staging before production.

Stack

Java 17 · ECS Fargate · RDS MySQL · CloudFront

All projects