HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
⚽
SFAM (스포츠 패밀리) Portfolio
⚽

SFAM (스포츠 패밀리) Portfolio

SFam
Github
SFam
Owner
yoyings
Updated
Jul 22, 2022

프로젝트 소개


notion image
  • 인근 주위 사람들과 다양한 스포츠 경기를 매칭 시켜주는 서비스입니다.
  • 동네 운동 메이트를 만들고 싶을 때, 상대방이 스포츠맨십이 갖춰져 있는지 궁금할 때, 어떤 팀에 소속되어 에이스로 성장하고 싶을 때 스포츠 패밀리 서비스를 통해 해결할 수 있습니다. 개인전, 팀전 및 다양한 종목에 대해 매치가 가능하며 전적 관리, 후기 등의 기능을 통해 매너 있는 스포츠 문화를 도모할 수 있습니다.
 

성능 개선 및 이슈대응

백엔드 기술


notion image
  • 자바 버전(17)을 Up함으로써 레코드와 개선된 스위치문을 사용할 수 있었습니다.
    • record 를 적극적으로 사용하여 불변성에 대한 라이프 사이클의 범위를 넓혀 변경에 대한 이슈를 해소할 수 있었습니다.
    • 개선된 스위치문을 통해 보다 더 간결한 코드와 가독성있는 코드를 작성할 수 있었습니다.
  • Flyway 도입으로 마이그레이션이 쉽게 가능하도록 구성하여 Database 설계 변동에 유연하게 대응할 수 있었으며 변경 이력 확인이 가능하여 편리함을 얻을 수 있었습니다.
  • QueryDSL의 도입으로 동적 쿼리를 보다 더 편리하게 작성하고 코드 가독성에 대한 이점 도 얻을 수 있었습니다.
  • CI/CD의 도입을 통해 자동으로 배포환경을 구축하여 비즈니스 로직 개발에 더욱 집중할 수 있게 되었습니다.
  • Deprecated된 설정을 그대로 사용하지 않고 스프링 시큐리티 최신 버전(5.7.2)을 도입하여 새롭게 가이드된 설정을 기반으로 구성하여 새로운 변화에 대해 즉각적으로 대응하였습니다.
    • notion image

ERD


notion image

시스템 디자인


notion image
[2개의 배포 구조를 구성한 이유]
  • 프론트와 함께 프로젝트를 진행할 때 프론트와 연동하는 Dev 환경과 실제 사용자에게 제공되어야 하는 Production 환경이 따로 분리하여 기존 서비스는 사용자가 이용할 수 있도록 해야한다고 생각했습니다. 그렇기 때문에 Dev 환경에서 충분히 검증 된 API와 Front만이 실제 사용되는 서비스 서버에 배포될 수 있도록 아키텍처를 구성했습니다.
 
Front + BackEnd
notion image

협업 방식


  • Jira WorkFlow
notion image
  • 3-4일 주기 스프린트 및 회고 진행.
  • 매일 14:00 ~ 19:00 코어타임 이라는 시간동안 공통 회의, 스크럼 및 개발을 진행
  • 협업도구
    • Discord (Front ,Backend 소통 및 회의)
    • Gather (BackEnd 소통 및 회의)
    • Slack (Front ,Backend 비동기적 소통)
    • Jira (개인 개발 일정 산정 및 이슈 Tracking)
    • Notion (개발 관련 문서화, 이슈, 회의록, ToDo 등 관리)
    • Git (코드 관리 및 코드 리뷰 진행)
 

역할


  • 기획 및 정책 구성.
  • ERD 모델링.
  • 파일 처리, 인증, 매칭 초대 API 설계 및 개발, 테스트
  • 환경 구성 (jasypt, PR Test, Logging, HTTPS)
  • Feign Client를 활용하여 거리 정보 및 지역명 제공
 

기술 스택


🎒 백엔드: Java 17, SpringBoot, Junit5, JPA, MySQL, Redis, QueryDsl, Flyway, Swagger, AWS
Front , 협업
🪟 프론트
  • React, TypeScript, Next.js, Recoil, Emotion, Axios
 
📃  문서/협업
  • Jira, Notion, Slack, Git, DisCord, Gather

팀구성


프론트앤드
팀장- 김창민
스크럼마스터 - 장규범
개발자 - 홍정기, 신승연
 
백앤드
팀장 - 김형욱
스크럼 마스터 - 박혜빈
개발자 - 곽동운, 김병연, 박진형
 
 
배포링크
운동 메이트가 필요할 땐 SFAM
운동 메이트가 필요할 땐 SFAM
https://www.dongkyurami.link/
프로젝트 관리
🖼️
프로젝트 관리 상세 보기
발표영상
Video preview