본문 바로가기

과거공부모음

나의 개발일지 20221230 TIL(Today I learned) - 팀프로젝트

Today I learned

오늘은 팀프로젝트의 시작이다

오늘은 지난 팀프로젝트를 하면서 항상 부족했던 부분이었던 계획을 짜는 부분에 노력을 많이 진행했다

지난 팀프로젝트의 문제점은 업무분장이 부족하고 프로젝트 설계가 부족했던 문제가 있었다

 

오늘은 문제점이였던 부분을 해결하기 위해서 조금 더 자세하게 계획을 진행하는 걸 시도했다

 

업무

구분 페이지 담당자 담당자
User 1. 로그인 이효원
2. 회원가입 이효원
3. 마이페이지 이보형, 박무현
Order/Review (고객) 1. 주문 신청 작성 이해담, 주현진
2. 주문 내역 이해담, 주현진
3. 리뷰 작성 이해담, 주현진
Order/Review (업체) 1. 주문 신청 리스트 이보형, 박무현
2. 주문 접수내역 이보형, 박무현

폴더의 구조도

데이터베이스 ERD

API 설계

페이지 기능 method URL request response error response
User 페이지 :user_id 마이페이지 GET /api/users - # 200
{
account_id : account_id,
nickname : nickname,
phone : phone,
address : address
point : point
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}
# 403 로그인 없이 접근할 경우
{
errorMessage : "로그인이 필요합니다."
}
# 404 해당 유저이 없을 경우
{
errorMessage : "유저가 존재하지 않습니다."
}
*삭제사유 : user_id를 파리미터로 받지 않고 쿠키를 사용하기 때문에
발생할 일 없음
  회원가입 POST /api/users {
user_id : user_id,
password : password,
check_password : check_password,
nickname : nickname,
phone : phone,
address : address
}
# 201
{
message : “회원가입에 성공하셨습니다.”
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}
# 400 이미 로그인이 되어있을 경우
{
errorMessage : "이미 로그인이 되어있습니다."
}
  로그인 POST /api/users/login {
user_id : user_id,
password : password
}
# 200
{
message : “로그인에 성공하셨습니다.”
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}
# 400 이미 로그인이 되어있을 경우
{
errorMessage : "이미 로그인이 되어있습니다."
}
  로그아웃 POST /api/users/logout - # 200
{
message : “로그아웃을 성공했습니다.”
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}
# 400 이미 로그아웃이 되어있을 경우
{
errorMessage : "이미 로그아웃이 되어있습니다."
}
  아이디 중복 체크 POST /api/users/duplication {
account_id : account_id
}
# 200
{
message : "아이디가 이미 존재합니다"
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}
Order/Review
페이지
(고객)
주문 신청 POST /api/orders {
nickname : nickname,
phone : phone,
address : address,
image : image,
requested : requested
}
# 201
{
message : "주문 신청이 완료되었습니다."
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}
# 403 로그인 없이 접근할 경우
{
errorMessage : "로그인이 필요합니다."
}
  :user_id 주문 내역 조회 GET /api/orders - # 200
{
nickname : nickname,
phone : phone,
address : address,
requested : requested,
status : status,
date : date,
image : image,
comment : comment,
mark : mark
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}
# 403 로그인없이 접근할 경우
{
errorMessage : "로그인이 필요합니다."
}
# 404 해당 주문이 없을 경우
{
errorMessage : "유저가 존재하지 않습니다."
}
*삭제사유 : user_id를 파리미터로 받지 않고 쿠키를 사용하기 때문에
발생할 일 없음
  :order_id 리뷰 작성 POST /api/orders/:order_id/review {
nickname : nickname,
mark : mark,
comment : comment
}
# 201
{
message : "리뷰작성을 성공했습니다."
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}
# 403 로그인없이 접근할 경우
{
errorMessage : "로그인이 필요합니다."
}
# 404 해당 주문이 없을 경우
{
errorMessage : "주문이 존재하지 않습니다."
}
Order/Review
페이지
(업체)
주문 신청 리스트 GET /api/orders/business - # 200
{
image : image,
date : date,
nickname : nickname,
phone : phone,
address : address,
requested : requested,
status : status
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}
# 403 로그인없이 접근할 경우
{
errorMessage : "로그인이 필요합니다."
}
  :user_id 주문 접수 내역 GET /api/orders - # 200
{
image : image,
date : date,
nickname : nickname,
phone : phone,
address : address,
requested : requested,
status : status,
comment : comment,
mark : mark
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}# 403 로그인없이 접근할 경우
{
errorMessage : "로그인이 필요합니다."
}

# 404 해당 주문이 없을 경우
{
errorMessage : "유저가 존재하지 않습니다."
}
*삭제사유 : user_id를 파리미터로 받지 않고 쿠키를 사용하기 때문에
발생할 일 없음
  주문 상태 변경 PUT /api/orders/:order_id {
status : status
}
# 201
{
message : "주문 상태가 변경되었습니다."
}
# 400 예외 케이스에서 처리 못하는 에러
{
errorMessage : "요청이 올바르지 않습니다."
}
# 403 로그인없이 접근할 경우
{
errorMessage : "로그인이 필요합니다."
}
# 404 해당 주문이 없을 경우
{
errorMessage : "주문이 존재하지 않습니다."
}

업무를 최대한 관련있는 기능별로 나누고 폴더구조와 데이터베이스 그리고 API까지 전 프로젝트보다 더 자세히 설계를 진행했다 그 외 코드 컨벤션, git 커밋 메시지 등의 규칙을 정하고 작업을 진행하기로 했다

 

오늘은 최대한 저번 프로젝트의 부족했던 점을 해결하기 위해서 시간을 많이 소비했다

그래도 프로젝트를 진행하면서 설계 때문에 프로젝트가 이해가 안 가거나 무엇이 필요한지 모르는 경우는 없을 거 같아서

아주 만족스럽다 이번 프로젝트는 이 설계를 통해 깔끔하게 진행해볼 생각이다