회원
메서드 |
엔드포인트 |
요청 데이터 |
설명 |
응답 / 렌더링 데이터 |
GET |
/join |
없음 |
회원가입 페이지 렌더링 |
auth/join 렌더링 (errors ) |
POST |
/send-code |
phone |
인증번호 문자 전송 |
JSON { message } |
POST |
/verify-code |
phone , code |
인증번호 확인 |
JSON { message } |
POST |
/sign-up |
user_id , user_pw , user_pw_check , user_name , user_phone , verification_code , user_postcode , user_address , user_detailAddress , user_extraAddress , user_username |
회원가입 처리 |
성공 시 리다이렉트 /login |
실패 시 auth/join
렌더링 (errors
) |
| GET | /login
| 없음 | 로그인 페이지 렌더링 | auth/login
렌더링 (errorId
, errorPw
) |
| POST | /login
| user_id
, user_pw
| 로그인 요청 | 성공 시 리다이렉트 /
실패 시 auth/login
렌더링 (errorId
, errorPw
) |
| POST | /logout
| 없음 | 로그아웃 처리 | 세션 제거 후 리다이렉트 /
|
| GET | /find-id
| 없음 | 아이디 찾기 페이지 렌더링 | mypage/find-id
렌더링 (errors
, successMessage
) |
| POST | /find-id
| user_name
, user_username
| 아이디 찾기 요청 | 성공 시 successMessage
실패 시 errors
포함 렌더링 |
| GET | /find-pw
| userId
| 비밀번호 찾기 페이지 렌더링 | mypage/find-pw
렌더링
(errors
, successMessage
, userId
, changePwVisible
) |
| POST | /find-pw
| user_id
, user_name
, user_username
| 비밀번호 찾기 요청 | 성공 시 changePwVisible = true
실패 시 오류 메시지 렌더링 |
| POST | /change-pw/:id
| user_pw
, user_check_pw
| 비밀번호 변경 요청 | 성공 시 리다이렉트 /login
실패 시 mypage/find-pw
렌더링 (errors
, userId
) |
마이페이지
메서드 |
엔드포인트 |
요청 데이터 |
설명 |
응답 / 렌더링 데이터 |
GET |
/my-page |
없음 |
마이페이지 메인 화면 |
|
렌더링유저의 정보, 구매내역, |
|
|
|
|
게시글 표시 |
mypage/my-page 렌더링 |
|
|
|
user : 로그인 유저 전체 정보 |
|
|
|
|
posts |
|
|
|
|
: 내가 쓴 게시글 배열 |
|
|
|
|
: 각 post에 |
|
|
|
|
shortContent , timeAgo , commentCount , authorProfile 포함 |
|
|
|
|
payments : 결제 내역 배열 |
|
|
|
|
POST |
/upload-profile-photo |
profilePhoto : 파일 |
프로필 사진 업로드 |
업로드된 파일 경로: /uploads/<파일명> |
세션의 user_img 업데이트 후 /my-page 리다이렉트 |
|
|
|
|
GET |
/change-username |
없음 |
닉네임 수정 페이지 렌더링 |
mypage/change-username 렌더링 |
user , message |
|
|
|
|
POST |
/change-username |
username : 변경할 닉네임 |
닉네임 수정 처리닉네임 중복 검사 |
|
및 게시물, 댓글, |
|
|
|
|
대댓글 작성자도 함께 수정 |
성공 시 세션 업데이트 후 /my-page |
|
|
|
리다이렉트실패 시 mypage/change-username 렌더링message: "이미 사용 중인 닉네임입니다." |
|
|
|
|
GET |
/change-name |
없음 |
이름 수정 페이지 렌더링 |
mypage/change-name 렌더링 |
user |
|
|
|
|
POST |
/change-name |
name : 변경할 이름 |
이름 수정 처리세션 업데이트 |
|
및 댓글, 대댓글 작성자 이름 변경 |
성공 시 /my-page 리다이렉트 |
|
|
|
커뮤니티
메서드 |
엔드포인트 |
요청 데이터 |
설명 |
응답 / 렌더링 데이터 |
GET |
/community |
없음 |
커뮤니티 게시판 전체 조회 페이지 |
posts/community 렌더링 |
posts : 게시글 리스트 |
|
|
|
|
(각 글에 shortContent , timeAgo , commentCount , authorProfile )user : 세션 유저 정보 |
|
|
|
|
GET |
/community/:id |
:id |
게시글 상세 조회 |
posts/community-detail 렌더링 |
post : 게시글 객체 |
|
|
|
|
(authorProfile , timeAgo , likes ) |
|
|
|
|
comments : 댓글 목록 |
|
|
|
|
(각 댓글에 timeAgo , authorProfile , replies ) |
|
|
|
|
commentCount : 댓글 수 |
|
|
|
|
user : 세션 유저 |
|
|
|
|
POST |
/community/:id/comment |
comment : 댓글 내용 |
특정 게시글에 댓글 작성 |
JSON 반환 |
_id , comment , author , authorProfile , time , timeAgo |
|
|
|
|
POST |
/community/comment/:id/reply |
replyComment : 답글 내용 |
특정 댓글에 답글 작성 |
JSON 반환 |
_id , comment , author , authorProfile , time , timeAgo |
|
|
|
|
POST |
/community/:id/like |
없음 |
게시글 좋아요 / 좋아요 취소 |
JSON 반환업데이트된 게시글 객체 |
GET |
/insert-post |
없음 |
게시글 작성 페이지 (관리자 전용) |
posts/insert-post 렌더링 |
POST |
/insert-post |
img1 ~ img5 : 이미지 파일 최대 5개 |
|
|
content : 글 내용 |
커뮤니티 게시글 등록 (관리자만 가능) |
성공 시 /community |
|
|
리다이렉트실패 시 errors/500 렌더링 |
|
|
|
|
상점
메서드 |
엔드포인트 |
요청 데이터 |
설명 |
응답 / 렌더링 |
GET |
/shop |
없음 |
모든 상품 목록 페이지 |
shop/shop 렌더링 |
products : 전체 상품 배열 |
|
|
|
|
user : 세션 유저 |
|
|
|
|
GET |
/product/:id |
:id |
상품 상세 정보 페이지 |
shop/product_detail 렌더링 |
product : 해당 상품 정보 |
|
|
|
|
user : 세션 유저 |
|
|
|
|
GET |
/upload-product |
없음 |
상품 업로드 폼 페이지 (관리자만) |
shop/upload-product 렌더링 |
POST |
/upload-product |
product_main_img , |
|
|
product_img1~5 : 이미지 |
|
|
|
|
product_name , |
|
|
|
|
product_color , |
|
|
|
|
product_price , |
|
|
|
|
product_detail |
상품 업로드 (이미지 포함, 관리자만) |
성공: /shop 리다이렉트 |
|
|
실패: errors/500 렌더링 |
|
|
|
|
장바구니
메서드 |
엔드포인트 |
요청 데이터 |
설명 |
응답 / 렌더링 |
GET |
/cart |
없음 |
장바구니 페이지 |
shop/cart 렌더링 |
cart_items , |
|
|
|
|
cartTotalAmount , |
|
|
|
|
cartTotalPrice |
|
|
|
|
POST |
/add-to-cart |
productId |
장바구니에 상품 추가세션 |
|
DB 동기화 |
JSON: { success: true } |
|
|
|
POST |
/update-cart |
productId , |
|
|
amount |
장바구니 상품 수량 변경 |
JSON: { success: true, cartTotalAmount, totalPrice, updatedPrice } |
|
|
POST |
/delete-cart-item |
productId |
장바구니 상품 제거 |
JSON: |
{ success: true, cartTotalAmount, totalPrice } |
|
|
|
|
구매
메서드 |
엔드포인트 |
요청 데이터 |
설명 |
응답 / 렌더링 |
GET |
/purchase |
없음 |
결제 페이지 (로그인 필수) |
shop/purchase 렌더링 |
userCart , |
|
|
|
|
totalPrice , |
|
|
|
|
totalAmount |
|
|
|
|
POST |
/payment-success |
orderId , |
|
|
address , |
|
|
|
|
phone |
결제 성공 시 호출 (서버에 결제 내역 저장) |
성공 시 /success 리다이렉트 |
|
|
실패 시 /fail 리다이렉트 |
|
|
|
|
GET |
/success |
없음 |
결제 성공 페이지 |
shop/success 렌더링 |
GET |
/fail |
없음 |
결제 실패 페이지 |
shop/fail 렌더링 |
인증 요구
엔드포인트 |
요구 권한 |
/shop , |
|
/product/:id |
비로그인도 접근 가능 |
/cart , |
|
/add-to-cart , |
|
/update-cart , /delete-cart-item |
로그인 없이도 가능 |
(세션 기반) |
|
/upload-product (GET/POST) |
관리자만 가능 checkAuth.requireAdmin |
/purchase , |
|
/payment-success , |
|
/success , |
|
/fail |
로그인 필요 checkAuth.requireLogin |
or |
|
forceLogin |
|