Skip to content

IM-GYURI/PlayRoute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,121 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlayRoute

1. 프로젝트 개요

동네 산책을 탐험과 게임, 커뮤니티로 바꾸는 위치 기반 SNS

기획 배경

  • 많은 사람들이 반복되는 경로로 인해 산책에 쉽게 지루함을 느끼는 문제
  • 기존 걷기 앱의 단순한 보상(걸음 수, 포인트)으로 지속적인 동기 부여가 어려운 문제
  • 산책을 중심으로 한 지역 기반 커뮤니티가 부재하여 사회적 연결과 정보 공유가 부족한 문제
  • 최근 MZ세대를 중심으로 로컬 탐험·위치기반 경험 콘텐츠 수요가 확대

▶ 산책을 탐험, 게임, 커뮤니티 경험으로 전환해 장기적 참여와 몰입을 유도

주요 특징

  1. 게시글 생성·공유 – GPS 기반 경로 + 체크포인트 기록·공유
  2. AR 탐험 미션 – 유령 퇴치·보물찾기 등 AR 이벤트
  3. 위치 기반 SNS – 게시글 피드·팔로우·댓글·지역 랭킹
  4. 게임형 보상 – 경험치·뱃지·아이템으로 활동 장려
  5. 다양한 주제 확장 – 반려동물 산책·여행·테마 탐방 등

2. 프로젝트 기간 및 팀 구성

개발 기간

  • 2025년 7월 14일 ~ 2025년 8월 18일 (총 5주)

팀원 구성

이름 역할 담당 기능 / 주요 작업
정예성 프론트엔드 웹 디자인 & 프로토타입 제작, 홈 페이지, 랭킹 페이지, 새 게시물 생성, 검색 페이지, 게시물 바텀 시트, 따라가기 페이지, 체크포인트 상세 모달, 모바일 Tilt 기반, WebAR 유령 포획과 보물찾기 게임, 위도/경도 좌표 기반 유령 게임, 댓글 리스트 모달, 게시물 컴포넌트, Axios 통신
박지훈 프론트엔드 전역 베이스 설정, 사용자 관리, 상점 페이지 구축, 마이프로필 연관 네비게이션
성경준 백엔드 / 팀장 게시글·체크포인트 API 설계 및 구현 (위치 기반 검색, AI 연동), Spring AI 기반 게시글 초안 생성 로직 개발
송준영 백엔드 / CI/CD 알림·팔로우·좋아요·댓글·업적 API 설계 및 구현, CI/CD 파이프라인 구축(Jenkins), MongoDB로 사용자 로그와 업적 관리, Docker 기반 배포 환경 구성, Redis 캐싱 및 성능 최적화, 로깅/모니터링 설정
임규리 백엔드 인증 API 설계 및 구현 (회원가입, 로그인/로그아웃, 토큰 재발급, 비밀번호 재설정), 스크랩/검색 기능 API 개발, 스텝보드(격자 방문 통계) API 구현, JWT + Spring Security 기반 인증/인가 적용
김태민 백엔드 사용자 관리 API 설계·구현 (프로필 수정, 회원 탈퇴, 팔로우/팔로잉 관리), 아이템 및 상점 API 설계·구현 (구매/적용 로직), 업적/레벨 시스템 연동, AWS S3 bucket 연동 및 리소스 관리, MongoDB로 아이템 리소스 관리

3. 주요 기능 소개

1) 회원가입

회원가입

  • 필수 정보 입력 및 관심지역 선택
  • 이메일/닉네임 중복 확인

2) 홈 : 게시글 탐색

게시글 탐색

  • 현 위치 기반 피드 탐색
  • 카드/리스트 스크롤, 상세 이동
  • 좋아요/댓글/스크랩/팔로우

3) 홈 : 관심지역 탐색

관심지역 탐색

  • 관심지역을 기준으로 게시글 탐색
  • 관심지역 선택 (설정한 별명으로 표현)
  • 해당 지역 피드/지도 이동

4) 따라가기

따라가기

  • 사용자가 만든 게시글을 따라가며 체크포인트 방문
  • 지도에서 체크포인트 위치 확인, 방문 판정
  • AR 이벤트 실행 (유령 퇴치, 보물 상자)
  • 진행도/보상 획득 및 저장

5) AI를 이용한 게시글 생성

게시글 생성

  • 체크포인트(사진/메모/GPS) 기반으로 AI 초안 생성
  • 사진 태그/감정/말투/형식 옵션 반영
  • 초안 편집 후 게시 가능

6) 랭킹

랭킹

  • 관심지역별 TOP10과 내 순위 확인
  • 최대 3개 관심지역 선택 → 내 순위/스텝보드 진행률 표시
  • TOP10 사용자 프로필 이동 및 팔로우

7) 프로필 : 업적

업적

  • 사용자 로그를 기반으로 업적 판단
  • 업적 달성 시 보상 제공

8) 상점

상점

  • 배경/프레임/배지 구매 및 미리보기
  • 포인트 차감 후 아이템 보유함에 추가
  • 프로필 꾸미기 화면에서 적용

9) 프로필 관리

개인정보 수정

개인정보 수정

  • 별명/비밀번호/관심지역/프로필 사진 수정 가능

프로필 꾸미기

프로필 꾸미기

  • 구매한 상품들로 프로필 꾸미기
  • 미리보기 가능
  • 프로필 화면에 적용

작성한 게시글

작성한 게시글

  • 내가 만든 게시글 목록 및 관리
  • 게시글 상세 이동, 수정/삭제

따라가기한 게시글

따라가기한 게시글

  • 따라가기 진행/완료 상태를 한눈에 확인
  • 진행률을 별로 표시
  • 상세 진입 → 진행 현황/재시작

스크랩한 게시글

스크랩한 게시글

  • 저장해 둔 게시글 모아보기
  • 상세 보기로 이동

팔로우/팔로잉

팔로우/팔로잉

  • 소셜 관계 관리
  • 팔로우/팔로잉 목록 조회
  • 사용자 프로필 이동 및 언팔로우

로그아웃

로그아웃

  • 안전한 로그아웃 절차
  • 확인 모달 → 로그아웃
  • 토큰/세션 정리 및 홈 이동

회원탈퇴

회원탈퇴

  • 경고/안내 모달 확인 → 탈퇴 확정

10) 비밀번호 재설정

비밀번호 재설정

  • 이메일/이름 검증 후 재설정 링크 발송
  • 메일 링크 클릭 → 재설정 화면 이동
  • 새 비밀번호 저장 및 재로그인 안내

4. 기술 스택

백엔드

구분 기술
언어 / 런타임 Java 21, Gradle
프레임워크 Spring Boot 3.5.4
- Spring Web (MVC)
- Spring WebFlux (Reactive)
- Spring Validation
- Spring Security
- Spring Mail
데이터 / 스토리지 PostgreSQL (JDBC)
MongoDB (Spring Data MongoDB)
Redis (Spring Data Redis)
AWS S3 (Spring Cloud AWS S3)
JPA & 지오스페이셜 Spring Data JPA
Hibernate Spatial
PostGIS JDBC
JTS Topology Suite
Proj4J
인증 / 보안 Spring Security
JWT: JJWT
AI 연동 Spring AI
spring-ai-starter-model-openai
매핑 / 유틸 MapStruct
Lombok
OpenCSV
테스트 Spring Boot Starter Test
Spring Security Test
Mockito Core
Spring Boot Test Autoconfigure
JUnit Platform (Jupiter)
Flapdoodle Embedded Mongo

프론트엔드

구분 기술
언어 / 프레임워크 React.js, TypeScript
지도 / 위치 기반 MapBox GL JS
상태 관리 Zustand
스타일링 Tailwind CSS
UI 컴포넌트 FontAwesome
AR / 모바일 센서 활용 WebAR
API 통신 Axios
빌드 / 번들러 Vite
테스트 배포 환경 Vercel

개발 환경 및 협업 도구

구분 기술
배포 환경 AWS EC2, Nginx, Docker, Jenkins
협업 도구 Notion (문서화), Mattermost (커뮤니케이션), Jira(프로젝트 관리)
버전 관리 Git + GitLab
CI/CD Jenkins 파이프라인 구축 및 자동 배포
컨테이너 관리 Docker 기반 환경 구성

5. 아키텍처 및 설계

ERD

ERD

시스템 아키텍처

ERD

  • 클라이언트: React + Vite, Axios 기반 API 통신
  • 백엔드: Spring Boot, JPA, Redis 캐싱, S3 스토리지
  • DB: PostgreSQL + PostGIS(공간데이터), MongoDB(로그성 데이터), Redis(랭킹/세션)
  • AI 서버: OpenAI API(Spring AI 연동)
  • 배포: Docker → Jenkins CI/CD → Nginx Reverse Proxy → AWS EC2

About

동네 산책 SNS 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages