요구사항 분석
주제
- 러닝 코스 공유 서비스 및 러닝 커뮤니티
프로젝트 이름
가제 : Run -ing
기능
회원가입 , 로그인
- 회원 가입
- 회원 타입 : 일반 유저 / 관리자
- 회원가입 입력 내용
- 이메일(필수)
- 한 번 설정 후 변경 불가
- 중복 불가능
- 비밀번호(필수)
- BCrypt 암호화
- 이름(필수)
- 닉네임
- 중복 불가능
- 설정 안하면 (러너 1 … )자동 설정
- 전화번호(필수)
- 형식 : 010-0000-0000
- 지역(시/구)(필수)
- 프로필 이미지(선택)
- 이메일(필수)
- 로그인
- 입력 내용
- 이메일 + 비밀번호
- JWT, 시큐리티 이용해 구현
- 카카오/네이버/구글 OAuth (향후 확장)
- 입력 내용
사용자 프로필
- 사용자 정보 조회
- 본인만 가능
- 이메일
- 비밀번호 (수정 가능)
- 이름 (수정 가능)
- 닉네임 (수정 가능)
- 전화번호 (수정 가능)
- 지역(시/구) (수정 가능)
- 프로필 이미지 (수정 가능)
- 러닝 성향(총 거리, 페이스 등)
- 팔로우 & 팔로잉 수
- 회원 탈퇴
- 본인만 가능
- soft 삭제
러닝 코스 공유
- 코스 공유 등록
- 코스 이름 , 거리, 소요 시간, 난이도, 위치(시작위치,종료위치)
- 경로 데이터
- 코스 설명, 사진(썸네일)
- 전체 공개, 크루원만 공개,개인 공개(선택, 기본 전체공개)
- 코스 공유 후
- 정렬 : 최신 좋아요, 댓글, 북마크, 조회수
- 검색 : 난이도, 제목, 위치
- 공개 변경 가능
커뮤니티
- 게시판 종류
- 러닝크루 모집/ 물품 추천/ 대회 추천/ 자유 게시판
- 공통 기능
- 정렬 : 최신, 좋아요, 댓글, 조회
- 검색 : 제목, 내용, 작성자
- 댓글, 대댓글
- 좋아요
- 신고/차단
개인 러닝 기록 (런닝 기록 누적)
- 런닝 기록 항목
- 날짜, 거리, 시간, 페이스, 코스, 메모
- 통계
- 주간/월간 누적 거리, 누적 시간, 평균 페이스
오늘의 러닝왕, 이달의 러닝왕 , 오늘의 러닝 코스, 이달의 러닝 코스
- 러닝왕
- 오늘 / 이번 달 누적 거리 TOP 5 , 페이스 TOP 5, 횟수 TOP 5
- 러닝 코스 왕
- 오늘/ 이번달 누적 좋아요 수 TOP 5
회원 지역 기반의 날씨 (오늘, 일주일)
- 날씨
- 외부 날씨 API 사용
1:1 및 그룹 채팅
- 1:1 DM(팔로우 및 팔로잉 한 사람끼리 가능)
- 읽음 표시
- 그룹 채팅 : 크루 단위
팔로우 & 팔로잉
- 팔로우 및 팔로잉
- 팔로우 추천 (추후 확장) : 같은 지역, 비슷한 페이스
비기능
성능
- 러닝 기록/코스 , 랭킹 조회 → 배치 or 캐시 기반으로 응답 시간 줄이기
보안
- 비밀번호 BCrypt 암호화
- JWT 기반 인증/인가
- 일반 회원, 관리자 권한 다르게 부여
- 관리자 : 신고 처리, 글 비공개
신뢰성
- 헬스체크
기술 스택 결정
- 프론트
- AI 활용
- 백엔드
- Java
- Spring Boot / Spring Web / Spring Data JPA / Sprint Security + JWT
- Spring WebSocket
- DB
- PostgreSQL
- 인프라
- Docker
- AWS
- 문서화
- Notion , Git
- ERD 설계
- ERDCloud
- 테스트
- JUnit 5
- Spring Boot Test + MockMvc
- API 문서화
- Swagger
- CI/CD
- GitHub Actions
'런닝 코스 공유 서비스' 카테고리의 다른 글
| [런닝 코스 공유 서비스] - 3. 컨벤션 & Git Branch 전략 (0) | 2025.12.18 |
|---|---|
| [런닝 코스 공유 서비스] - 2. ERD 설계 (1) | 2025.12.11 |
| [클로드코드를 이용한 러닝 코스 공유 서비스] 3. 테스트 및 GitHub 업로드 (0) | 2025.10.16 |
| [클로드코드를 이용한 러닝 코스 공유 서비스] 2. 프로젝트 초기 구성 자동화 (0) | 2025.10.14 |
| [클로드코드를 이용한 러닝 코스 공유 서비스] 1. 프로젝트 설계 (0) | 2025.10.14 |