hyun326 개발 포트폴리오
Backend Developer Portfolio

민동현

Spring / Java 백엔드 개발자 · 한성대학교 모바일소프트웨어트랙·웹공학트랙 졸업 (2020.03 – 2026.02)

팀 단위 웹·모바일·플랫폼 프로젝트에서 도메인 설계와 백엔드 구현을 맡아왔습니다. 인증 시스템(JWT/OAuth2), 실시간 기능(SSE), 생성형 AI 연동(Gemini Vision), 서버리스·클라우드 배포까지 기능을 엔드투엔드로 구현하고 직접 배포까지 참여합니다.

5주요 팀 프로젝트
Java·Spring주력 스택

프로젝트

직접 도메인/기능을 설계하고 구현한 팀 프로젝트입니다.

Eventoday
박람회·전시회 통합 운영 플랫폼
부스·평면도 도메인 · AI 자동배치 기능

행사 등록부터 부스 모집·배정, 평면도, 티켓/결제, 교환코드, 입장 QR, 통계까지 아우르는 박람회 운영 통합 플랫폼입니다. 6인 팀으로 도메인을 나누어 개발했고, 부스·평면도 도메인을 백엔드부터 프론트엔드까지 엔드투엔드로 구현하며 24건의 기능 PR을 직접 머지했습니다.

  • 부스 CRUD API(목록/상세/등록/일괄등록/수정/상태변경/삭제)와 이에 대응하는 개최자센터 "부스 관리" 화면 전체 구현
  • 부스 QR 코드 발급·조회 — 재발급 시 같은 토큰을 반환하는 멱등 설계, 실제 스캔 가능한 QR 이미지 렌더링
  • 평면도(부스 좌표) 관리 기능 — 좌표 등록/이동, 직접 그리기 방식 추가, 관람객용 평면도 화면과 핀 컴포넌트 공통화
  • Gemini Vision(gemini-3.1-flash-lite) 기반 평면도 AI 자동 배치 제안 기능 — 평면도 이미지에서 부스 사각형을 검출해 좌표를 제안하고, 검출값의 비결정성을 고려해 저장은 항상 관리자가 확정하도록 설계. 개발 중 발견한 커넥션 풀 고갈, NPE, 평면도 전환 시 좌표 오적용 등 레이스 컨디션을 직접 찾아 수정
  • 부스 예약 안정성 강화 — 미인증 요청 401 처리, 예약 시간 유효성 검증, 노쇼 처리 시 인원 음수 방지, 동시 예약 시 중복 방지
  • Flyway 마이그레이션 충돌·누락 복구(V16·V17·V21·V22), out-of-order 마이그레이션 허용 설정
  • k3s + ArgoCD 기반 배포 파이프라인 최초 구성 (팀 공용 인프라)
Java 21 Spring Boot 4.1 JPA PostgreSQL / Flyway Redis React / Vite Gemini Vision API ArgoCD / K8s

함께한 팀원: 김찬호, 정용쿠, 강현민, 이원건, 장수호 (6인 팀)

CanvasFlow
그림 작가를 위한 구독형 SNS
댓글 · 알림 · 검색 기능 구현

그림·글·영상을 자유롭게 올리고 팔로우·채널로 소통하며, 구독 등급에 따라 콘텐츠 공개 범위가 달라지는 SNS입니다. Spring Boot 4 + Next.js 16 기반 Spring Modulith(도메인 중심) 아키텍처로 설계되었고, 총 10건의 기능 PR을 직접 구현해 머지했습니다.

  • 댓글/좋아요/알림을 각각 SSE(Server-Sent Events)로 실시간 브로드캐스트하는 구조 최초 설계 — 댓글 작성 시 게시글 작성자, 대댓글은 원댓글 작성자, 좋아요는 대상 소유자에게 자동 알림 발송(자기 자신 제외)
  • 댓글 UI 전면 개편 — 아바타/상대시간/좋아요/답글/수정삭제, 하단 고정 입력창
  • 알림 벨 아이콘 + 안읽음 뱃지, 앵커형 드롭다운, 선택 다중 삭제
  • 좋아요 동시 클릭 레이스 컨디션 수정 — DB unique 제약 예외를 ALREADY_LIKED로 안전하게 변환, 인증 방식을 헤더 기반에서 @AuthenticationPrincipal로 전환
  • 검색 모듈 신설 — 태그 기반 게시글 검색, 닉네임 기반 유저 검색
  • 마이페이지 팔로우 피드 탭 신설
  • Spring Modulith 모듈 경계 위반 수정 (FollowFacade 도입으로 도메인 간 결합도 해소)
Java Spring Boot 4 / Modulith Next.js 16 / React 19 SSE PostgreSQL

6인 팀 프로젝트

paprika
커머스형 웹 서비스
인증/계정 시스템 · 상품 목록 구현

상품 상세, 채팅, 마이페이지를 갖춘 커머스 웹 애플리케이션입니다. 초기 커밋부터 참여해 회원 인증 시스템 전체와 상품 목록 화면을 구현했습니다.

  • JWT 기반 로그인/로그아웃/회원가입 구현
  • OAuth2 소셜 로그인 3종(Google, Naver, GitHub) 연동
  • 비밀번호 변경/재설정 API, 회원 탈퇴, 헤더 드롭다운 로그아웃 버그 수정
  • 홈 화면 최신 상품 API 연동, 상품 목록 카드 그리드 레이아웃 및 카테고리 필터, 관심 등록 수(wishCount) 표시
Java Spring Boot JWT OAuth2 TypeScript ArgoCD / K8s

9인 팀 프로젝트

한성숲 (hsutree)
한성대 스마트 캠퍼스 탐색 앱
지도/GPS · 리뷰 · 시간표 구현

캠퍼스 시설 안내, 맞춤형 시간표 관리, 리뷰·게시판 기능을 제공하는 모바일 앱입니다. 4인 팀으로 진행했으며, 앱의 핵심인 지도·GPS 기능과 리뷰·시간표 기능을 직접 구현했습니다.

  • 캠퍼스 지도 마커 및 시설물 검색 구현 — 동일 시설물이 여러 곳에 있을 경우 "n개" 표시로 구분
  • 사용자 위치 GPS 연동, 안드로이드/iOS 동작 동기화
  • 시설별 리뷰 테이블 설계 및 리뷰 작성 화면(WriteReviewScreen) 구현
  • 강의 등록·강의실 검색 기반 시간표 기능, 시간표 공유 기능 추가
  • 시설물 데이터 Firebase 업로드
JavaScript React Native Expo Firebase Geolocation

함께한 팀원: 이은호, 유관호, 이지성 (4인 팀)

바람길 Wind Road
Gemini AI 맞춤형 여행 일정 생성 플랫폼
숙박 · 지도 기능 구현

Gemini AI 에이전트가 항공편·숙소 정보를 반영해 실제 동선 기반의 여행 일정을 자동 생성하는 AWS 서버리스 플랫폼입니다. 5인 팀으로 개발했습니다.

  • 숙소 계획(Accommodation Plan) 모듈 전체 구현 — 지도 기반 숙소 검색, 체크인/체크아웃 설정, 예약 흐름, 커스텀 숙소를 일정에 직접 추가하는 기능까지
  • 여행 일정 지도에 마커로 위치 표시 및 마커 클릭 시 지도 이동 연동
  • 일정 드래그앤드롭 재정렬 기능 개선
  • 홈 화면 추천 호텔 섹션, AI 검색 결과에 호텔 정보 누락되던 버그 수정
  • Lambda 백엔드 로직 구현·배포, Booking.com/Mapbox API 연동
JavaScript React AWS Lambda DynamoDB Gemini API

함께한 팀원: 최진우, 유관호, 이은호, 황지환 (5인 팀)

기술 스택

Backend
Java, Spring Boot, Spring Modulith, JPA
Auth
JWT, OAuth2(Google/Naver/GitHub), Spring Security
Database
PostgreSQL, MySQL, Flyway, DynamoDB, Redis
Frontend
TypeScript, React, Next.js
Mobile
React Native, Expo, Firebase
Infra / DevOps
GitHub Actions, ArgoCD, Kubernetes, Docker
Cloud / AI
AWS Lambda, Cognito, Gemini API/Vision, OpenAI API

그 외

SW-20 · 포토문자 서비스
기상청 API와 DALL·E로 날씨 기반 스타일링 이미지를 생성해 광고 문자에 담아 발송하는 5인 팀 프로젝트. 뿌리오(Ppurio) 문자 발송 API와 기상청 날씨 API 연동, 프록시 타임아웃 튜닝, API 키 보안 처리를 담당했습니다. (비공개 저장소)