Skip to content
View Siwon-Choi's full-sized avatar

Block or report Siwon-Choi

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
Siwon-Choi/README.md

최시원

사용자의 불편을 IT 서비스로 해소하고 해결합니다.

Spring Boot React TypeScript MSA Security Service Design


GitHub Portfolio Solved.ac Naver Mail Gmail


About Me

사용자가 오래 기다리거나 반복해서 처리해야 하는 불편을 서비스로 해결하는 데 관심이 있습니다.
위치 기반 검색·매칭·기록/조회 경험부터 인증과 서비스 간 통신까지, 사용자가 실제로 마주하는 흐름을 안정적으로 만드는 프로젝트를 진행해 왔습니다.

백엔드에서는 Spring Boot, Spring Security, JPA, JWT, Redis, Kafka를 활용해 API와 인증 구조를 설계하고, 프런트엔드에서는 ReactTypeScript로 사용자가 바로 이해할 수 있는 화면을 구현합니다.


Main Tech

Languages

Java JavaScript TypeScript Python C++

Frontend

React Vite HTML5 CSS3

Backend

Spring Boot Spring Security Spring Cloud Spring Data JPA Node.js Express

Database & Infra

MySQL PostgreSQL Redis Apache Kafka AWS EC2 Docker Vercel


핵심 Projects

GameMatch

현재 개발 중 · GameMatch-Dev
Current frontend Current backend
이전 버전 · 소개 기준
Legacy frontend Legacy backend

Toilet_NearBy

Backend repository

BBD-AES ERP MSA

BBD-AES organization
User service Security gateway bbd security core private repository

매칭 요청, 팀 등록, 사용자 인증, 게시판 기능을 제공하는 게임 커뮤니티 플랫폼입니다. 아래 내용은 이전 버전 구현을 기준으로 합니다.

  • 도메인별 책임 분리와 서비스 레이어 중심 구조 설계
  • 상태 변경이 많은 매칭 흐름에 트랜잭션과 제약 조건 적용
  • 스케줄러 기반 만료 매칭 상태 처리

현재 위치를 기준으로 주변 공중화장실을 찾고, 후기·별점·비밀번호 정보를 공유하는 커뮤니티형 위치 서비스입니다.

  • Spring Security OAuth2 Resource Server 기반 JWT 인증·인가
  • Bounding Box와 좌표 복합 인덱스로 위치 검색 범위 축소
  • Grid 기반 Caffeine Cache로 반복 위치 검색 최적화
  • Repository interface와 JPA adapter 분리로 저장소 의존성 격리

자동차 부품 유통 ERP를 MSA로 구성한 프로젝트에서 사용자 서비스, 보안 게이트웨이, 공통 플랫폼 모듈을 개발했습니다.

  • User Service: 사용자·권한 관리, PostgreSQL/Redis, Kafka Outbox 이벤트 처리
  • Security Gateway: OAuth2 로그인, Keycloak 토큰 검증, Redis 세션 기반 단일 진입점 구성
  • bbd-security-core: 보안·Redis·AOP·토큰 릴레이·멱등성 자동 설정 프레임워크 개발

Core Experience

위치 기반 검색 최적화
Toilet_NearBy
Bounding Box 사전 조회, 좌표 복합 인덱스, 격자 기반 캐싱으로 반복 위치 검색 비용을 줄이는 방향을 고민했습니다.
인증·인가 서비스 설계
GameMatch · Toilet_NearBy · BBD-AES ERP MSA
Spring Security와 JWT 기반 인증을 구현하고, Keycloak OAuth2 로그인·Resource Server 토큰 검증·Redis 세션을 Gateway와 User Service 전반에 맞춰 설계했습니다.
데이터 정합성 관리
GameMatch
매칭 요청, 팀 등록, 만료 상태 처리처럼 상태 변경이 많은 기능에서 트랜잭션과 제약 조건을 고려했습니다.
MSA 공통 플랫폼 설계
BBD-AES ERP MSA
여러 MSA가 인증·인가·캐시·멱등성 정책을 재사용하도록 공통 프레임워크를 개발했습니다.

Problem Solving


GitHub

GitHub Stats Top Languages

Pinned Loading

  1. sw-2-2/recall-frontend sw-2-2/recall-frontend Public

    TypeScript

  2. BE_ToiletNearBy BE_ToiletNearBy Public

    ToiletNearBy의 BE 프로젝트입니다.

    Java

  3. Java-Practice Java-Practice Public

    야구 게임

    Java

  4. Siwon-Choi Siwon-Choi Public