HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
🥩
[팀6] 카제돈
/
📒
API 명세서
📒

API 명세서

📢
명세서 보기 전 참고할 사항 - 응답 항목에서 events{name, expired_at, ...} 와 같이 {} 표기된 부분은 리스트를 나타냄 - 예 : API-04는 이벤트 리스트(events)를 응답으로 주며, 각 이벤트 별로 name, expired_at, market_name, like_count, review_count, like, remaining_participants 데이터 포함
 
API 목록(번호, 기능, 연관 페이지, URI, 응답, 요청 정보 포함)
번호
기능
연관 페이지
URI
http method
응답
요청(header)
요청(path parameter)
요청(query string)
요청(body)
API-01
로그인
login
/login
post
사용자 토큰
email, passwd
API-02
회원가입
register
/signup
post
email. passwd, nickname
API-03
닉네임 및 이메일 중복 확인
register
/signup/check (예: /signup/check?type={nickname or email}&value = {data})
get
type={nickname, email}, value={data}
API-04
이벤트 리스트 조회
home
/events
get
events{name, expired_at, market_name, like_count, review_count, like, remaining_participants}
사용자 토큰
type={recommend, registry, closing, like}
location
API-05
이벤트 상세 조회
event-detail
/events/{event_id}
get
name, expired_at, market_name, market_description, event_description, is_like, is_favorite, pictures{url}, is_participated
사용자 토큰
event_id
API-06
이벤트 리뷰 목록 조회
event-detail
/events/{event_id}/reviews
get
reviews{description, picture_url, author, created_at}
사용자 토큰
event_id
API-07
리뷰 작성
coupon-issue(사용자)
/events/{event_id}/reviews
post
사용자 토큰
event_id
reviews{description, pictureUrl, createdAt}
API-08
이벤트 작성
coupon-issue(사업자)
/events
post
사용자 토큰
name, description, expired_at, remaining_participants, pictures{url}
API-09
좋아요 등록
home
event-detail
/likes/events/{event_id}
post
사용자 토큰
event_id
API-10
좋아요 취소
home
event-detail
/likes/events/{event_id}
delete
사용자 토큰
event_id
API-11
즐겨찾기 등록
home
event-detail
/favorites/markets/{market_id}
post
사용자 토큰
market_id
API-12
즐겨찾기 취소
home
event-detail
/favorites/markets/{market_id}
delete
사용자 토큰
market_id
API-13
즐겨찾기 목록 조회
user-profile
/members/{nickname}/favorites/markets
get
markets{name, favorite_count}, is_favorite
사용자 토큰
nickname
API-14
좋아요 목록 조회
user-profile
/members/{nickname}/member/likes/events
get
events{expired_at, name, market_name, like_count, review_count, is_like}
사용자 토큰
nickname
API-15
사용자 참여 이벤트 목록 조회
user-profile
/members/{nickname}/events
get
events{expired_at, name, market_name, like_count, review_count, is_like, is_participated}
사용자 토큰
nickname
API-16
사용자 내가 쓴 리뷰 조회, 리뷰어 (리뷰정보) 조회
user-profile
user-detail
/members/{nickname}/reviews
get
사용자 내가 쓴 리뷰 조회 : reviews{description, market_name, pickture_url}, 리뷰어 조회 : reviews{description, market_name, url}, reviewer_event_count, reviewer_review_count
사용자 토큰
nickname
API-17
사용자 정보 수정
user-profile
/members
put
사용자 토큰
nickname, passwd
API-18
사용자 정보 조회
user-profile
/members
get
email, nickname
사용자 토큰
API-19
가게정보 등록
사업자 전환 페이지
/markets
post
사용자 토큰
name, location, description
API-20
사업자의 가게 조회
shop-detail
/markets
get
markets{market_id, event_count, like_count, review_count}
사용자 토큰
API-21
가게의 이벤트 조회
coupon-issue(사업자)
/markets/{marketId}/events/
get
event{expired_at, name, market_name, like_count, review_count}
사용자 토큰
market_id
API-22
이벤트 정보 수정
shop-detail
/events/{eventid}
put
event{expired_at, name, market_name, like_count, review_count}
사용자 토큰
event_id
description
API-23
이벤트 참여
event-detail
/events/{eventid}/participants
post
사용자 토큰
event_id
 

API 이슈사항 - 프론트엔드 확인 필요

  • 이벤트 상세 페이지에서 이벤트 참여 가능한 사람의 수가 필요 없는지??
  • 사업자 등록 시 가게 설명 누락되어있는데, 이 정보는 입력하지 않는 것인지?
  • API-16 은 사용자의 리뷰 정보를 조회한다는 맥락에서 동일한 API로 볼 수 있는데, 하나의 API로 합쳐도 되는지?
    • 다른 사용자에 대한 리뷰 정보를 조회할 때에는 참여 이벤트 수와 리뷰 작성 수가 필요 없지만, 백엔드 쪽에서는 모든 정보를 보내면 프론트 쪽에서 이 정보를 사용하지 않으면 될 것으로 보임
    • 프론트에서 API 구분이 필요하다고 하면 분리할 수 있습니당!!ㅎㅎ
  • user-profile 화면의 활동 내역에서 음영 처리되어 있는 이벤트는 마감 일자가 지난 이벤트인지? 아니면 참여 완료한 이벤트인지? 아님 둘 다 인지? 확인 필요
 
 

도메인 우선순위

💡
도메인 옆 번호는 진행 순서!
  • ex) 멤버(1) - 가게(2) - 이벤트(3) - 리뷰(4) - 즐겨찾기(5) - 좋아요(6) 순으로 진행
💡
API 옆 번호는 우선순위 상(상은 숫자(진행순서)로 표현했습니다.), 중, 하로 구분하였습니다!
  • ex) 멤버(1) - API 1,2,3 진행 → 가게(2) - API 19 진행 → 이벤트(3) - API 8,4,5 순으로 진행!
  • 우선순위 상 이슈를 모두 해결 한뒤 중,하 이슈 진행
💡
역할 분담은 위 순서에 맞게 하나씩 분배하여 진행!
  • 멤버(1)
    • API-01(1) → 리엔
    • API-02(2) → 리엔
    • API-03(3) → 리엔
    • API-17(하)
    • API-18(하)
  • 가게(2)
    • API-19(1) → 진아
    • API-20(중)
    • API-21(중)
  • 리뷰(4)
    • API-06(2) → 에디
    • API-07(1) → 에디
    • API-16(하)
  • 이벤트(3)
    • API-04(2) → 진아
    • API-05(3) → 진아
    • API-08(1) → 진아
    • API-15(하)
    • API-22(하)
    • API-23(중)
  • 즐겨찾기(5)
    • API-11(1)
    • API-12(1)
    • API-13(중)
  • 좋아요(6)
    • API-09(1)
    • API-10(1)
    • API-14(중)
 
12/9/목 30-1시간 회의
예외 처리, 유효성 검사 등등 회의
 
 
 
 
~12/11/토
리뷰(4) - API-06(2), API-07(1)
즐겨찾기(5) - API-11(1), API-12(1)
좋아요(6) - API-09(1), API-10(1)
 
→ s3 연동
 
~12/14/화
멤버(1) - API-17(하), API-18(하)
가게(2) - API-20(중), API-21(중)
이벤트(3) - API-15(하), API-22(하), API-23(중)
 
~12/16/목
리뷰(4) - API-16(하)
즐겨찾기(5) - API-13(중)
좋아요(6) - API-14(중)