힘들었던 1차 프로젝트가 끝난 직후, 약 일주일 반 정도의 Spring Security 수업을 듣고 바로 2차 프로젝트가 시작되었다.
보안 개념이 완전히 정리되지 않은 상태에서 프로젝트가 시작되다 보니, 솔직히 초반에는 부담감과 두려움이 꽤 컸다.
📌 프로젝트 핵심 요약
1️⃣ 프로젝트 목적
2차 프로젝트는 1차 프로젝트에서 학습한 CRUD 기반 REST API 구현을 바탕으로,
단순한 기능 구현을 넘어서 실제 서비스에 가까운 구조를 직접 기획하고 개발하는 것이 목표였다.
- REST API 직접 설계
- 협업 기반 개발 경험
- 보안(Spring Security) 적용
- API 문서화 경험
단순히 “동작하는 코드”가 아니라, 왜 이렇게 설계했는지 설명할 수 있는 프로젝트를 만드는 것이 핵심이었다.
2️⃣ 일정
- 개발 기간: 2025.01.15 ~ 2025.01.30 (약 2주)
- 발표: 2025.01.30
1차 프로젝트보다 기간은 조금 길었지만,
기획 → 백엔드 → 프론트엔드까지 전부 직접 구현해야 했기 때문에
초보 개발자 5명으로 구성된 팀에게는 다소 촉박한 일정이었다.
3️⃣ 기획 단계에서 한 것 (필수)
기획서에 반드시 포함해야 했던 내용들 👇
- 🎯 타겟 유저 & 유저 시나리오
- 🧩 서비스 전체 구조 (시스템 구성도)
- ⚙️ 주요 기능 정리 (필수 / 선택 기능 구분)
- 🔐 보안 방식 정의
- 🔍 참고 레퍼런스 조사
🎮 서비스 목표
본 프로젝트는 게임 라이브러리 & 커뮤니티 서비스를 목표로 한다.
- 여러 플랫폼에 흩어진 게임 정보를 IGDB API 기반으로 검색 및 조회
- 사용자가 보유한 게임을 다음 방식으로 관리
- 수동 등록(기본 기능)
- Steam 연동(확장 기능)
- 게임별 리뷰 및 토론 기능 제공
- 해시태그 기반 검색을 통한 토론 게시판 운영
- 찜 / 추천 / 신작 안내를 통해 게임 탐색 비용 감소
👤 타겟 유저 & 핵심 시나리오
🎯 타겟 유저
- 콘솔 / PC / 모바일 게임을 즐기는 일반 게이머
- 신작 게임 정보를 빠르게 확인하고 싶은 사용자
- 리뷰 및 토론을 즐기는 커뮤니티 성향의 유저
🔄 핵심 유저 시나리오 (예시)
- 회원가입 및 로그인 후 관심 플랫폼/장르 설정
- IGDB 기반 게임 검색 및 상세 정보 확인
- 관심 있는 게임을 찜하거나 내 게임 라이브러리에 추가
- 플랫폼을 통합한 보유 게임 목록 관리 (중복 제거)
- 게임별 리뷰 작성 및 평점 등록
- 종합 토론 게시판에서 게시글 / 댓글 / 대댓글로 의견 공유
- 게시글에 태그를 추가해 관심 주제 기반 탐색
- 태그 기반 검색으로 원하는 게시글 조회
- (확장) Steam 공개 계정일 경우 게임 라이브러리 자동 동기화
- 분기별 신작 및 추천 게임 확인
🧱 서비스 전체 구조
- 게임 검색 및 상세 정보
- 사용자 게임 관리
- 리뷰 및 커뮤니티
📌 시스템 구성도는 추후 정리 예정
⭐ 기능 우선순위
✅ 필수 기능 (MVP)
- 로그인 / 인증
- IGDB API 기반 게임 검색 및 상세 조회
- 내 게임 보기 (플랫폼 통합, 중복 제거)
- 리뷰 작성 및 사용자별 리뷰 관리
- 토론 게시판 + 댓글 / 대댓글
➕ 선택 기능 (확장)
- SNS 요소 (팔로우, 좋아요)
- 게임 찜하기
- 같이 플레이할 친구 찾기
- 세일 정보 공유
- 데이터 기반 추천 시스템
- 사용자 성향 기반 장르 추천
- 분기별 신작 게임 안내
- Steam / Epic Games 등 외부 플랫폼 연동
- 게임 제목 및 줄거리 한글화
🧩 주요 도메인 설계
- User
- Game
- UserGame
- 사용자 보유 게임 정보
- (플랫폼, 상태, 플레이 시간 등)
- Review
- Post
- Tag
- Comment
👥 팀 구성 및 역할 분담
| 역할 | 담당 내용 |
|---|
| 팀장 | Game 도메인 핵심 설계 + IGDB API 연동 |
| 팀원1 | Member 도메인 + Spring Security |
| 팀원2 | Post / Comment / Tag 도메인 |
| 본인 | 게임 플랫폼 & 장르 도메인 + Game 도메인 보조 |
| 팀원3 | Review / UserGame + 전체 코드 조율 및 머지 관리 |
나는 게임 플랫폼 / 장르 도메인 담당으로 참여했으며,
Game 도메인 전반을 이해하고 팀장을 보조하는 역할을 맡았다.