본문으로 건너뛰기

PALLOW

2024.07~08

지역 및 MBTI 기반 친구 추천 웹사이트

서비스 분리 — 추천 연산을 메인 서버에서 떼어내기 클라이언트 웹 MAIN Java · Spring 모임 관리 · 실시간 채팅 커뮤니티 · 인증 추천 요청 RECOMMEND Python · Flask 코사인 유사도 지역 · MBTI · 관심사 Docker AWS EC2 5인 팀 리더 — 두 서버를 분리해 추천 연산이 메인 서버 응답을 막지 않게 설계 2024.07~08

문제

새로운 지역·모임에서 친구를 찾기 어렵다. 관심사와 성향이 맞는 사람을 매번 직접 찾아다녀야 했다.

내가 한 것

JWT 인증을 Spring Security 필터 기반으로 재작성하고 리프레시 토큰 재발급을 구현했다. 메일 발송은 @Async 전용 스레드풀로 분리했다. 추천은 같은 지역 후보만 Flask 서버로 보내 관계 유형·MBTI로 거른 뒤 9개 항목을 원핫 인코딩하고 TruncatedSVD와 코사인 유사도로 정렬했다. GitHub Actions로 Gradle 빌드, Docker Hub 푸시, AWS EC2 컨테이너 교체를 자동화했다.

결과

지역·MBTI·관심사 기반으로 친구를 추천하고 모임 생성·참여, 실시간 채팅, 관심사 커뮤니티를 제공한다. 추천 연산을 떼어내 메인 서버 응답을 막지 않게 했다.
JavaSpringDockerPythonFlaskAWS EC2GitHub Actions