HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🐣
프론트엔드 데브코스 4기 교육생
/
🍔
김동영팀
/
🌙
기획서 - 꿀매포청천
기획서 - 꿀매포청천
🌙

기획서 - 꿀매포청천

Tags
참고

1. 서비스 소개

꿀매 정보 교류 커뮤니티 서비스

 

1.1 배경

💡
고물가 시대에서 싸고 좋은 물건을 구매하는 것은 쉬운 일이 아닙니다. 또한 스스로 산 물건이 싸게 잘 샀는지 판단하는 일 또한 쉬운 일은 아닙니다. 저희 팀은 이런 어려움에 초점을 맞춰 꿀매포청천 이란 서비스를 기획했습니다.
 
아이디어 목록
  • 스포츠 팬들을 위한 커뮤니티
    • 평범
    • 이미 있는 서비스
  • 반려동물 커뮤니티
    • 이색 동물 위주였으면 좋겠다. (틈새시장인가요?)
    • 상업성은 없음
  • 데브코스 페이스북
    • 기수별
    • 슬랙과의 차별점 모르겠어요…
  • 오늘 저녁메뉴 추천 커뮤니티(요리)
    • 들어오게 하는 원동력?
    • 추천을 하게 하려는 원동력은? → 자극성 넣기
      • 랭킹
      • 추천 받은 사람은 꼭 먹고 인증하도록
      • 미디어의 영향과 연관지어서
  • 프론트엔드 개발자 커뮤니티 (기술 포스팅, Q&A) - 기술 별 / role별
    • role : junior, senior 같은 / 연차
    • 너무 흔함
    • 커리어리라고… 완전.. 똑같죠..
  • 운동 일기(헬스 케어 커뮤니티)
    • 너무 많음 차별성…?
  • 투표 투기장 커뮤니티
    • 주제 던지고 투표하기
    • 한국인들이 좋아할 것 같아요 (뭐가 낫다 비교하고,, )
    • 토의
 
  • 게임적 요소도 넣어볼까요? ㅎㅅㅎ(레벨업이나 성장형 동물농장같은거)
    • 기한이 너무 짧아요
  • 오늘의 지름 공유
    • 나 뭐샀다
    • 박탈감 느낄 것 같아요
  • 거지방 커뮤니티 (절약)
    • 금액 제한 정해놓고
    • 현타가 올거 같다
    • 돈 아끼는 목적
    • 금액 + 날짜 + 지출 내역
    • 통계를 어떻게 - 달성률
  • 불행 배틀 커뮤니티 : 위안
    • 위로도 얻을 수 있고 (남의 불행을 보고..)
    • 랭킹 (누가 제일 불쌍한가, 댓글로 위안을 남겨주세요)
  • 칼부림 실시간 공유?????????
    • 꼭 칼부림이 아니더라도 폭행 등 위험 상황 등에 대한 공유가 있으면 좋을 것 같아요
    • 경고의 목적
    • 너무 자극적임
  • 금리에 따른 물가 공유…
    • 그냥 써봄.
  • 덕질 사이트
    • 각 채널 = 덕질 대상 ….. (ex. 아이유 채널…?)
    • 채널이 너무 다양해질수도?
    • 채널 제한을 어떻게 할 것인가? (우리집 강아지)
  • 동네 커뮤니티
    • 당근마켓
    • 각 채널 = 각 동네 (ex. 역삼동 , ….)
    • 맛집을 공유한다든가, 동네에서 일어난 이슈 등에 대한 글, …
  • 매칭 서비스
    • 기획자 vs 개발자
    • 친구 vs 연인
    • 학생 vs 선생님
    • 게임 듀오
    • 너무 많아질 수 있을 것 같다
  • 독서 커뮤니티
    • 책에 대한 소감
    • 책 = 채널
    • 네이버 카페
  • 데브코스 후기커뮤니티 (가능..?)
    • 익명 !!!!! (메시지를 못 보냄)
  • FTPJ… 누적 미션 체크로 내 성향을 알아보자…
    • 날마다 미션에 대한 응답으로 내 성향을 알 수 있는
    • F인데 T가 되고 싶어 ⇒ T같은 미션을 제공하고 미션을 수행하면 체크 (인증하는 식)
  • 집단지성 꿀매 판단 사이트… 이거 얼마에 샀는데 꿀매인가요?
    • 투표받고 퍼센티지로
    • 랭킹 (오늘의 꿀매)
    • 중고거래 / 새제품구매 카테고리
 
  • 오구오구 - 오늘 구하는 조언… 고민상담… 하루마다 데이터 사라짐
    • 힐링 서비스
  • 대나무숲 커뮤니티
    • 어딘가 말 못할 얘기들을 맘 놓고 얘기할 수 있는..
    • 진로, 우정, 사랑, 가족, 학업, 직장 등에 대한 고민 카테고리(채널) 만들 수 있을 것 같아요
    • 닉네임으로 활동
  • 공감”해줘”커뮤니티
    • 공감을 어떻게 해줘? 그냥 텍스트?(검사를 어떻게 할건가) 버튼?
  • 여행 후기 커뮤니티 (다낭다녀왔는데 ~ 어쩌구저쩌구~)
  • mbti 대전 커뮤니티 (mbti별 채널 및 vs 대결 등?)
    • 16개 각각을 채널로 하고 자기 채널에다가만 글 쓸 수 있도록
  • 오늘의 tmi 커뮤니티
다양한 아이디어가 나왔고, 그 중 거지방(절약) 커뮤니티와 꿀매 커뮤니티가 최종 후보로 나오게 되었습니다. 꿀매 커뮤니티가 좀 더 다양한 시도와 구현을 할 수 있을 것 같아 최종적으로 결정하게 되었습니다.
 

1.2 소개

꿀매란 꿀처럼 달콤한 매물이란 뜻으로 소비자가 저렴한 가격에 좋은 상품을 구입할 때 주로 사용하는 말 입니다. 꿀매포청천은 꿀매란 키워드에서 아이디어를 얻어 사람들과의 커뮤니케이션을 통해 이 매물을 좋은 가격에 구매했는지 아닌지를 판단해 볼 수 있는 서비스를 제공합니다.
💡
꿀매포청천에서 포청천이란 중국 송나라 때의 문신이자 유명한 정치가로, 명판관으로 유명합니다. 저희 서비스는 이 물건이 꿀매인지 아닌지를 사람들과의 커뮤니케이션을 통해 판단하는 기능을 제공하는데 이러한 점에서 연관성을 찾아 아이디어를 내게 되었습니다.
 

1.3 타겟층

  • 가성비 제품 및 서비스에 관심이 많은 사람들
  • 중고 거래 서비스를 자주 이용하는 사람들
  • 가성비 매물 관련 정보를 얻고 싶은 사람들
  • 구매 및 판매 시 적정가를 알아보기 귀찮거나 궁금한 사람들
 

1.4 기능

  • 로그인 / 회원가입
  • 포스트 글 작성 및 수정
  • 댓글
  • 팔로우 / 팔로잉
  • 좋아요 / 싫어요
  • 알림
  • 다크모드
 
 

 
 

2. 팀원 소개

역할 분담
이름
 
 

 

3. 프로젝트 소개

3.1 기술 스택

  • Next.js 13
  • SCSS
  • Axios
  • Tanstack Query
  • Zustand
  • Vercel
  • Storybook
 

3.2 유저 스토리

User Story
~로서
~하고 싶다, ~한다
그래서~
카테고리
기타
작성자
로그인 된 유저
회원가입, 로그인 창으로 주소에서 입력해 이동한다.
로그인 정보가 있으므로 랜딩페이지로 라우팅된다.
Auth
로그아웃 상태의 유저
회원가입을 하기 위해 회원가입 버튼을 누른다.
회원가입 창이 뜨거나, 회원가입 페이지로 이동한다.
Auth
회원가입, 로그인 방식 및 디자인 논의 필요
로그아웃 상태의 유저
회원가입을 하기 위해 정보를 작성한다.
회원가입에 대한 정보를 작성할 수 있다.
Auth
로그아웃 상태의 유저
회원가입을 하기 위해 정보를 제출한다.
입력한 정보가 요구사항에 일치하는지 검증결과를 받고, 일치하면 제출된다. 제출 된 이후 로그인 페이지로 이동한다.
Auth
입력 정보는 논의하기
로그아웃 상태의 유저
회원가입완료
로그인한다.
로그인 창이 뜨거나, 로그인 페이지로 이동한다. 회원가입 절차와 비슷한 경로를 거친다.
Auth
로그아웃 상태의 유저
사용자는 회원 가입된 유저 목록을 볼 수 있다.
가입자 목록이 나타난 창??에 가입 현황을 볼 수 있다.
가입자현황
어떻게 보여주는지? 페이지나 창? 가입된 유저 전체? 검색?
로그아웃 상태의 유저
사용자는 가입자 목록을 볼 수 없다.
별도 창이나 링크가 있을 경우 회원가입 부분으로 이동된다.
가입자현황
로그인 된 유저
다른 유저가 작성한 글과 댓글을 보고 싶다.
다른 유저의 닉네임을 검색하면 해당 유저의 작성 게시글과 댓글 리스트가 뜨고 링크로 이동할 수 있다.
게시글
유저 정보
검색
로그인 된 유저
다른 유저에 대한 프로필 이미지, 팔로워, 팔로잉 정보, 작성한 게시글 및 댓글의 수를 보고 싶다.
다른 유저의 닉네임을 검색하면 프로필 이미지, 팔로워, 팔로잉 정보, 작성한 게시글 및 댓글의 수를 볼 수 있다.
유저 정보
팔로워 + 팔로잉 기능 할지 말지?
모든유저
특정 키워드에 대한 게시글을 보고 싶다.
검색 창에 키워드를 입력하면 해당하는 게시글이 목록으로 뜨고, 링크로 이동할 수 있다.
게시글
검색
키워드 포함만 해도 필터링됨 - 검색 기능
로그인 된 유저
검색 결과 목록으로 뜬 게시글 작성자에 대한 정보를 보고 싶다.
검색 결과 목록에서 각 게시글에 대한 작성자 프로필 이미지와 닉네임이 함께 뜨고, 해당 작성자에 대한 프로필 페이지로 이동할 수 있다.
검색
유저 정보
게시글
게시글 검색 시 작성자 정보도 같이 뜨는가? 프로필 페이지는 상단에서 설명한 프로필 활동 내역 페이지를 의미
로그인 된 유저
새로운 포스트를 작성하고 싶다.
내 계정명으로 새로운 포스트가 생성된다.
게시글
로그인 된 유저
새로운 포스트를 작성하기 위한 버튼을 클릭한다.
포스트 생성 페이지로 이동한다.
페이지 이동
로그아웃 상태의 유저
새로운 포스트를 작성하기 위한 버튼을 클릭한다.
로그인을 하라는 알림창이 뜨며, 로그인 화면으로 이동한다.
게시글
Auth
버튼 활성화 여부부터
로그인 된 유저
자신의 계정 버튼을 클릭한다.
자신의 계정 페이지로 이동한다.
페이지 이동
위의 프로필 페이지와 다름. 여기선 계정 관리 차원의 프로필 페이지
로그인 된 유저
자신의 계정 정보를 보고 싶다.
내 계정 정보를 볼 수 있다.
유저 정보
버튼 활성화 여부부터
로그인 된 유저
자신의 계정 정보를 수정하고 싶다.(프로필 사진 포함)
내 계정의 정보가 수정된다.
유저 정보
계정 정보 논의 필요
모든유저
모든 글을 보고 싶다.
모든 글 목록을 볼 수 있다.
게시글
검색
채널 분류 여부 논의 / 제품군으로 채널 나누기 (논의 필요)
모든유저
특정 포스트 글을 상세하게 보고 싶다.
특정 포스트 글을 상세하게 볼 수 있다.
게시글
검색
로그인 된 유저
포스트에 좋아요를 누르고 싶다.
해당 포스트의 좋아요 버튼을 누르고 좋아요 수가 증가한다
Post
실시간 반영
로그인 된 유저
싫어요??
해당 포스트의 싫어요 버튼을 누르고 싫어요 수가 증가한다
Post
실시간 반영
로그인 된 유저
포스트에 댓글을 남기고 싶다.
포스트에 새로운 댓글을 작성하고 제출시 새로운 댓글이 생성된다.
Post
로그인 된 유저
포스트에 남긴 댓글을 삭제하고 싶다.
댓글을 작성한 유저와 삭제하려는 유저가 동일하다면 삭제버튼을 누를 시 댓글이 삭제된다
delete
삭제 버튼 활성화 여부 논의
로그인 된 유저
자신의 알림 목록을 확인하고 싶다.
알림목록에는 내가 쓴 포스트의 좋아요, 댓글, 팔로우신청, 메세지가 존재한다.
Post
로그인 된 유저
자신에게 온 알림을 클릭하면 해당 게시글로 이동하고 싶다.
게시글에 달린 좋아요 알림, 댓글알림을 클릭하면 해당 게시글로 이동된다. 팔로우신청 알림을 클릭하면 해당 프로필로 이동한다.
페이지 이동
모든유저
다크모드, 기본모드를 전환할 수 있다.
토글 버튼이 존재한다. 토글버튼을 누르면 다크모드인 경우에는 기본모드로, 기본모드인 경우에는 다크모드로 전환한다.
Put
디자인 논의
로그인 된 유저
로그인된 유저는 자신이 쓴 포스트에 이미지를 업로드 할 수 있다.
포스트를 쓰는 부분에 이미지 업로드 버튼이 있고, 이를 누를 때, 이미지가 올라가서 저장된다.
가입자현황
댓글에는 이미지 첨부 X
로그아웃 상태의 유저
로그아웃된 유저는 자신이 쓴 포스트나 댓글을 볼 수도 없고, 파일을 업로드 할 수도 없다.
로그아웃된 유저는 포스트나 댓글에 접근할 수 없다.
가입자현황
페이지 이동
비로그인시 : 댓글 비활성화
모든유저
엉뚱한 페이지에 들어가면 404페이지가 나온다.
잘못된 경로에 들어가면 404페이지로 접속한다. 이후 홈 페이지로 이동하는 버튼이 있어서 눌러서 이동한다
페이지 이동
싫어요…
싫어요
 

3.3 디자인

피그마 디자인 이미지
notion image
 

3.4 프로젝트 일정

프로젝트 일정
 

3.5 네이밍 및 기타 컨벤션

  • DB 스키마와 관련된 모델(객체) → Interface 사용
  • 기타 컴포넌트 props → type 사용
  • props 관련 타입은 컴포넌트에서 선언하고 그 외는 types폴더에 생성
 
  • 컴포넌트 → 파스칼 케이스 사용
  • 함수나 변수 → 카멜 케이스 사용
  • 상수→ 스네이크 케이스 사용
 

3.6 진행 방식

  • 매주 팀원들과 이번 해야만 하는 일을 유저 스토리에서 추출합니다.
  • 해당 일을 깃헙 프로젝트의 on sprint와 깃헙 이슈에 등록합니다.
  • 내가 이 일을 하는데에 얼마 만큼의 시간이 걸릴지 예측해서 산정합니다
  • 해당 내용을 동료들과 토론 후 최종적으로 일정을 산출합니다.
  • 데일리 스크럼에서는 개발진행 상황과 피드백이 필요한 일들을 이야기합니다.
  • 이때 피드백은, 상황과 맥락을 구체적으로 설명합니다.
  • 또한 매주 금요일마다 다음주에 무엇을 해야 하는지 결정하는 시간을 갖습니다.
 
notion image

3.7 깃허브 관리

notion image
  • 이번 프로젝트는 짧은 시간 내에 많은 인원과 함께 빠른 템포로 진행되는 프로젝트입니다.
  • 따라서 아래와 같이 규칙을 두어 프로젝트의 환경과 상황에 알맞은 flow를 구성했습니다.
    • main : 마지막에 배포되는 브랜치 release 1.0.0
    • release : 매주 스프린트 후 배포가 되는 브랜치
    • develop : feature브랜치에서 merge되는 브랜치
    • feat : 각 기능에 대한 개발 사항을 담은 브랜치
 

4. 폴더 구조 및 컴포넌트 분류

Atomic Design Pattern 적용
  • components 폴더 아래 atoms, molecules, organisms, templates 폴더로 구성
    • 컴포넌트의 크기에 따라 atoms, molecules, organisms, templates 인지 구분하여 해당하는 폴더 아래 컴포넌트 폴더 생성
      • 하나의 컴포넌트를 폴더로 생성
        하나의 컴포넌트를 폴더로 생성
  • 컴포넌트폴더 안에 스토리북 파일과 SCSS파일 모두 넣기
  • Services → API호출 담당
  • Components/UI → 공통된 컴포넌트(로직X)
  • Components/Services → 서비스 로직과 엮인 컴포넌트
  • Templates까지는 스타일적 요소만 → Pages에서 로직이 들어가게
 
피드백 페이지