Skip to content

froggy-hyun/Sportify

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

482 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sportify - 우리 동네 운동 커뮤니티 앱 서비스

(2024년 국민체육진흥공단 공공데이터활용 경진대회 수상작 [장려상 4위])
image

👉 목차

  1. 📃 프로젝트
  2. 🤜 협업
  3. 🎯 대회 개요


📃 프로젝트

🔗 Service Link

https://sportify.co.kr

👥 Team

이름 송해찬 구지혜 최성현 김희찬
역할 Backend
DevOps
Frontend Backend Design
Frontend
GitHub


🧑‍💻 개발 기간

11/4 ~ 12/8



🙋 내 역할

백엔드 및 데이터 가공/저장

  • Spring Boot 기반 회원가입/로그인/JWT 인증 구현 및 Bean Validation으로 입력 검증·예외 표준화
  • Redis를 활용한 Access Token 블랙리스트(로그아웃/강제 만료) 적용으로 Stateless 인증의 한계를 보완
  • 공공데이터(체육 이용권) CSV를 필터링 → 지오코딩(Kakao API) → MySQL 적재까지 자동화한 데이터 파이프라인 구축
  • 위·경도를 파이썬을 이용하여 공간데이터(Point, SRID 4326)로 저장하고, Hibernate Spatial/MySQL Spatial로 반경 내 인기 이용권·최근 월별 인기 스포츠 Top3 기능 구현
    • 사용자 주소(Point) 기반 반경 내 이용권 조회: Hibernate Spatial + MySQL Spatial을 활용해 ST_Buffer, ST_Contains로 위치 기반 필터링 구현
    • 인기 기준 정의 및 정렬: COURSE_REQST_NMPR_CO(신청 인원수)를 popularity 지표로 사용해 내림차순 정렬
    • 장애 여부(disabled) 분기 지원: 회원의 disabled 속성과 이용권의 disabled 속성을 조건으로 적용해 대상군을 분리
    • 최근 N개월 인기 스포츠 Top3 집계: 월별 기간을 계산하여 해당 기간 이용권을 조회 → 중분류명 기준으로 그룹핑 및 합산 → 상위 3개만 반환(LinkedHashMap으로 순서 유지)
    • 조회 성능 고려한 Fetch Join: 인기/상세 조회에서 JOIN FETCH로 N+1 가능성을 줄이고 응답 DTO로 매핑

🌟 프로젝트 소개

1 (1) 20 28 31 32 33 34 35

🤜 협업

✨ Frontend & Design

개발 리포지토리 : https://github.com/TUK-SPORTIFY/sportify-frontend

  • Tech Stack 25


🛠 Backend

개발 리포지토리 : https://github.com/TUK-SPORTIFY/sportify-backend

  • Architecture 25


🎯 대회 개요

contest_image

About

우리 동네 운동 커뮤니티 앱 서비스 - 2024년 국민체육진흥공단 공공데이터 활용 경진대회 수상작[장려상]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 37.3%
  • TypeScript 31.8%
  • JavaScript 28.0%
  • Python 2.7%
  • HTML 0.2%