역할 | 사용 툴 |
---|---|
Frontend | HTML, CSS, Javascript |
Backend | Node.js (Javascript) |
Tools | Github, Notion, excalidraw |
DB | MySQL (Sequelize) |
DevOps | AWS EC2, AWS RDS, AWS S3 |
기능 | Method | URL | Request | Response | 에러 메시지 | 설명 | 업무 담당 |
---|---|---|---|---|---|---|---|
회원가입 페이지 | |||||||
사장님 회원가입 | POST | /api/users/drivers/signup | { |
id: “id”,
name: “name”,
password: “password”,
passwordCheck: “password”,
image: “imgUrl”
} | { success: success, message: “회원가입에 성공했습니다.” } | # 400 아이디 중복 { success: false, message: “이미 사용중인 아이디입니다.’}
{ success: false, message: “~를 입력해주세요.”}
{ success: false, message: “~의 형식이 일치하지 않습니다.”}
{ success: false, message: “요청을 처리하지 못하였습니다.”} | | 현민(완료, 테스트x) | | 고객 회원가입 | POST | /api/users/customers/signup | { id: “id”, name: “name”, password: “password” passwordCheck: “password” } | { success: success, message: “회원가입에 성공했습니다.” } | # 400 아이디 중복 { success: false, message: “이미 사용중인 아이디입니다.’}
{ success: false, message: “~를 입력해주세요.”}
{ success: false, message: “~의 형식이 일치하지 않습니다.”}
{ success: false, message: “요청을 처리하지 못하였습니다.”} | | 현민(완료, 테스트x) | | | | | | | | | | | | | 로그인 | | | | | | | 로그인 | POST | /api/users/login | { id: “id”, password: “password”, type : “type” } | {
} | | | 창민(완료, jest 테스트 미완료) |
| 로그아웃 | GET | /api/users/logout | | {
success: true,
message: ‘정상적으로 로그아웃 되었습니다.’
} | # 400 에러
{ success: false, message: “로그아웃에 실패하였습니다. } | | 현민(완료) |
| | | | | | | | |
| | | 메인 페이지 | | | | | |
| 모든 사장님 캠핑카 정보 | GET | /api/driver | | {
driverId: “driverId”,
image: “imgUrl”,
name: “name”,
updatedAt:
”updatedAt”,
createdAt: “createdAt”
} | | | 호진 (jest테스트 미완료) | | | | | | | | | | | | | 신청 페이지 | | | | | | | 특정 사장님 캠핑카 정보 | GET | /api/users/drivers/:driverId | | { name: “name”, image: “imgUrl” } | # 400 DB 에러 { success: false, message: “요청을 처리하지 못하였습니다.”}
{ success: false, message: “해당 ID에 존재하는 사장님이 없습니다.”} | | 진영 (완료, jest 테스트 미완료) | | 특정 캠핑카 리뷰 | GET | /api/reviews/:driverId | | [ { “Review.stars”: 5, “Review.content”: “content”, “Review.createdAt”: “2023-01-04T03:01:20.000Z”, ”Customer.name”: “name” }, {…}, ] | # 400 DB 에러 { success: false, message: “요청을 처리하지 못하였습니다.”}
{ success: false, message: “해당 ID에 존재하는 사장님이 없습니다.”} | createdAt 최신순으로 리뷰를 불러옴. 사장이 존재해도 Review가 하나도 없으면 404에러가 걸림. | 진영 (완료, jest 테스트 미완료) | | 오더 신청 | POST | /api/orders/:driverId | { customerId: “customerId”, driverId: “driverId”, phone: “phone”, address: “address”, status: “status”, usageDateTimeStart: “usageDateTimeStart”, usageTime: “usageTime” } | | # 400 DB 에러 { success: false, message: “요청을 처리하지 못하였습니다.”}
error.success = false | | 진영 (완료, jest 테스트 미완료) | | | | | | | | | | | | | 사장 페이지 | | | | | | | 신청 받은 오더 정보 | GET | /api/orders/driver/:driverId | | [ { phone: “01000000000”, address: “서울특별시 ”, status: “대기”, request: “빨리와주세요~”, usageDateTimeStart: “2023-01-01 00:00:00”, usageTime: 2, customer.name: “가나다” } ] | # 412 형식 에러 { success: false, message: “데이터 형식이 일치하지 않습니다.”}
{ success: false, message: “요청을 처리하지 못하였습니다.”} | | 현민(완료, 테스트x) | | 오더 상태 업데이트 | PUT | /api/orders/:orderId/status | { status: “status” } | { success: true, message: “수정에 성공했습니다” } | # 412 형식 에러 { success: false, message: “데이터 형식이 일치하지 않습니다.”}
{ success: false, message: “요청을 처리하지 못하였습니다.”} | | 현민(완료, 테스트x) | | 유저 포인트 차감 | PUT | /api/users/customers/:customerId/points | { point: “point” } | { success: true, message: “포인트 차감!” } | # 400 DB 에러 { success: false, message: “요청을 처리하지 못하였습니다.”}
{ success: false, message: “존재하지 않는 고객입니다.”} | | 현민(완료) |
| | | | | | | | |
| | | 마이 페이지 | | | | | |
| 회원 이용내역 조회 | GET | /api/orders/customer/:customerId | | {
“success”: true,
“message: “이용내역을 불러왔습니다.”,
“UserUseResult”: [
{
phone: “phone”,
address: “address”,
status: “status”,
usageDateTimeStart: “usageDateTimeStart”,
usageTime: “usageTime”,
Review: {
“stars”: 2,
“content”: “content”
}
}, {…}
] | | 회원이 이용한 오더에 리뷰를 안 등록했으면 Review: null
로 출력됨 | 호승 |
| 리뷰 등록 (모달) | POST | /api/reviews/:orderId | {
stars: “stars”,
content: “content”
} | | | | 호승 |
| | | | | | | | |