프로젝트

[열쇠는 나였다 / 개인프로젝트] 기획서

c-hano 2025. 6. 8. 15:12

 

 

 

 

 

1. 프로젝트 이름 

 

열쇠는 나였다 (I was the Key)

 

 

 

 

2. 프로젝트 개요 

 

방탈출을 좋아하는 사람들이 정보를 공유하고 직접 테마를 예약할 수 있는 커뮤니티 사이트입니다.
방탈출 예약 API와 연동해 실시간 예약 가능 여부를 확인하고, 지역별/평점순 추천 테마를 확인할 수 있습니다.
커뮤니티 기능을 통해 사용자들의 리뷰, 후기, 동행 모집도 함께 운영합니다.

 

 

 

 

3. 핵심 기능(초안) 

기능 비회원 로그인 회원
게시글 열람 O O
게시글 작성/수정/삭제 X O
댓글 열람 O O
댓글 작성/수정/삭제 X O
좋아요 기능 X O
마이페이지 접근 X O
마이페이지 닉네임 변경/이미지 업로드 X O
방탈출 예약 O O
방탈출 추천 수 확인 O O

 

게시판 종류

  • 동행 모집 게시판
  • 방탈출 리뷰 게시판 (방탈출 예약 페이지에서 작성된 리뷰가 자동으로 등록) (별점 등록, 별점 순으로 표기하는 기능 추가)
  • 자유게시판
  • 방수(성공 인증) 자랑 게시판

 

마이페이지 기능

  • 닉네임 변경 (중복 확인, 무작위 닉네임 기본 제공)
  • 프로필 이미지 업로드 (없을 경우 기본 이미지 적용)
  • 내가 작성한 게시글 확인
  • 내가 단 댓글 확인
  • 좋아요 누른 게시글 확인

 

 

 

4. 사용 기술 스택(초안)

백엔드 Java, Spring Boot, Spring Security, JPA, MySQL
프론트엔드 TypeScript, React, Node.js, Tailwind
인증 OAuth2 (Google, Kakao)
외부 연동 방탈출 테마 API (실시간 예약/테마 추천)
기타 JWT 인증, Postman, GIT

 

 

 

 

5. 시스템 아키텍쳐 개요(초안)

 

[Browser (User)]
       ↓
[Frontend - React (TypeScript)]
       ↓ REST API
[Backend - Spring Boot (JWT, OAuth2)]
       ↓
[Database - MySQL (User, Post, Like)]

 

 

 

6. 주요 페이지 설계

메인 페이지 전체 게시판 요약 보기 + 네비바
방탈출 예약 API 사용, 방탈출 표기
추천 방탈출 API 사용, 지역별 평점, 리뷰 많은 방탈출 순위별로 표기
동행 모집 게시판 구인/구직용 게시글 CRUD
리뷰 게시판 방탈 테마 리뷰 게시글 CRUD
자유 게시판 일반 자유 주제 글 CRUD
마이페이지 프로필 설정, 닉네임 변경, 활동 내역 확인
예약 도움 페이지 외부 API 연동: 지역/날짜 필터로 테마 추천
 

 

 

 

 

7. API 명세 (초안)

POST /api/v1/auth/login/oauth 소셜 로그인 (Google, Kakao)
GET /api/v1/posts 게시글 전체 조회
POST /api/v1/posts 게시글 작성
GET /api/v1/posts/{id} 게시글 상세 조회
PATCH /api/v1/posts/{id} 게시글 수정
DELETE /api/v1/posts/{id} 게시글 삭제
POST /api/v1/comments 댓글 작성
GET /api/v1/comments/{postId} 게시글 댓글 조회
PATCH /api/v1/comments/{id} 댓글 수정
DELETE /api/v1/comments/{id} 댓글 삭제
POST /api/v1/posts/{postId}/like 게시글 좋아요 누르기
GET /api/v1/posts/{postId}/likes 좋아요 수 확인
GET /api/v1/mypage/posts 내가 쓴 게시글
GET /api/v1/mypage/comments 내가 단 댓글
GET /api/v1/mypage/likes 좋아요 누른 게시글
PATCH /api/v1/mypage/nickname 닉네임 변경
PATCH /api/v1/mypage/profile-image 프로필 이미지 변경
GET /api/v1/reservations 예약 가능한 테마 리스트 (날짜/지역 필터)
GET /api/v1/recommendations 추천 테마 리스트 (평점순/리뷰순)
GET /api/v1/reviews 방탈출 후기 작성
GET /api/v1/reviews/{themeId} 특정 테마의 후기 목록 조회
 
 

 


 
 

요약

 

프로젝트명 열쇠는 나였다 (I was the Key)
목표 방탈출을 좋아하는 사람들을 위한 커뮤니티 및 예약 지원 서비스
주요 기능 게시판 CRUD, 소셜 로그인, 방탈출 예약, 테마 추천, 마이페이지
사용 기술 React (TypeScript), Spring Boot, MySQL, OAuth2, JWT
차별점 실시간 방탈출 예약 API 연동 + 지역별 추천 시스템 제공 + 커뮤니티