중고 제품 거래 플랫폼 구축하기
이번 미니 프로젝트를 통해서 만들어볼 서비스는 “
멋사마켓
”입니다.
본 과정을 통해 여러분들만의 프로젝트를 만들어보세요!
미니 프로젝트를 수행하실 때 아래와 같은 미션을 가지고 진행하시길 바랍니다.
필수 미션을 바탕으로 평가가 진행됩니다.
상세한 필수 미션 설명은 2.미션 개요를 확인하세요!
필수 미션
1.
요구 사항에 명시된 기능들을 구현합니다.
2.
사용자 입력 유효성 검증을 진행합니다.
3.
잘못된 입력에 대한 일관성 있는 에러 메시지를 출력해야 합니다.
4.
구현 내용에 대한 README.md를 필수로 작성합니다.
1. 멋사마켓 서비스 소개
1-1.
멋사마켓이란?
여러분들이 많이 사용하고 있는
당근마켓, 중고나라 등을 착안하여 여러분들만의 중고 제품 거래 플랫폼을 만들어보는 미니 프로젝트입니다.
사용자가 중고 물품을 자유롭게 올리고, 댓글을 통해 소통하며, 최종적으로 구매 제안에 대하여 수락할 수 있는 형태의 중고 거래 플랫폼의 백엔드를 만들어봅시다.
1-2. 멋사마켓 ERD
2. 미션 개요
2-1.필수 미션의 4가지 항목들은 반드시 모두 수행해야 합니다. 해당 필수 미션 수행률을 바탕으로 평가가 이루어집니다.
일자별로 수행해야 하는 요구 사항 기능 수행의 경우, 오른쪽의 일자를 확인 후 해당 일자에 맞는 미션을 수행하는 방식으로 진행됩니다.
요구 사항 수행 예시
중고 물품 관리의 경우 6/29일에 수행해야하는 미션입니다.
2-1. 필수 미션 6/29~7/4
1.
요구사항에 명시된 기능 수행
하단 2-2.요구 사항을 확인하세요!
2.
사용자 입력 유효성 검증
•
특히 구매 제안 수락의 경우, 허용되지 않은 상태를 방지해야함
3.
잘못된 입력에 대한 일관성 있는 에러 메시지 출력
4.
구현 내용에 대한 README.md 작성
•
요구사항을 구현하기 위해 집중한 부분을 작성
•
좀 더 효율적인 구조를 위해 변경한 사항들 및 이유 서술
•
그 외 추가하고 싶은 내용 작성
2-2. 요구 사항
6/29, 7/3, 7/4일 하루에 1개씩 3일동안 총 3개의 미션을 수행합니다. 3일 동안 하단 미션을 수행해보세요!
주어진 Endpoint의 동작은 작동 예시 입니다. 요구사항을 만족한다면 정확히 일치하지 않아도 괜찮습니다 
중고 물품 관리 6/29
1.
누구든지 중고 거래를 목적으로 물품에 대한 정보를 등록할 수 있다.
a.
이때 반드시 포함되어야 하는 내용은 제목, 설명, 이미지, 최소 가격, 작성자이다.
b.
또한 사용자가 물품을 등록할 때, 비밀번호 항목을 추가해서 등록한다.
c.
최초로 물품이 등록될 때, 중고 물품의 상태는 판매중 상태가 된다.
2.
등록된 물품 정보는 누구든지 열람할 수 있다.
a.
페이지 단위 조회가 가능하다.
b.
전체 조회, 단일 조회 모두 가능하다.
3.
등록된 물품 정보는 수정이 가능하다.
a.
이때, 물품이 등록될 때 추가한 비밀번호를 첨부해야 한다.
4.
등록된 물품 정보에 이미지를 첨부할 수 있다.
a.
이때, 물품이 등록될 때 추가한 비밀번호를 첨부해야 한다.
b.
이미지를 관리하는 방법은 자율이다.
5.
등록된 물품 정보는 삭제가 가능하다.
a.
이때, 물품이 등록될 때 추가한 비밀번호를 첨부해야 한다.
Endpoints
중고 물품 댓글 7/3
1.
등록된 물품에 대한 질문을 위하여 댓글을 등록할 수 있다.
a.
이때 반드시 포함되어야 하는 내용은 대상 물품, 댓글 내용, 작성자이다.
b.
또한 댓글을 등록할 때, 비밀번호 항목을 추가해서 등록한다.
2.
등록된 댓글은 누구든지 열람할 수 있다.
a.
페이지 단위 조회가 가능하다.
3.
등록된 댓글은 수정이 가능하다.
a.
이때, 댓글이 등록될 때 추가한 비밀번호를 첨부해야 한다.
4.
등록된 댓글은 삭제가 가능하다.
a.
이때, 댓글이 등록될 때 추가한 비밀번호를 첨부해야 한다.
5.
댓글에는 초기에 비워져 있는 답글 항목이 존재한다.
a.
만약 댓글이 등록된 대상 물품을 등록한 사람일 경우, 물품을 등록할 때 사용한 비밀번호를 첨부할 경우 답글 항목을 수정할 수 있다.
b.
답글은 댓글에 포함된 공개 정보이다.
Endpoints
구매 제안 7/4
1.
등록된 물품에 대하여 구매 제안을 등록할 수 있다.
a.
이때 반드시 포함되어야 하는 내용은 대상 물품, 제안 가격, 작성자이다.
b.
또한 구매 제안을 등록할 때, 비밀번호 항목을 추가해서 등록한다.
c.
구매 제안이 등록될 때, 제안의 상태는 제안 상태가 된다.
2.
구매 제안은 대상 물품의 주인과 등록한 사용자만 조회할 수 있다.
a.
대상 물품의 주인은, 대상 물품을 등록할 때 사용한 작성자와 비밀번호를 첨부해야 한다. 이때 물품에 등록된 모든 구매 제안이 확인 가능하다. 페이지 기능을 지원한다.
b.
등록한 사용자는, 조회를 위해서 자신이 사용한 작성자와 비밀번호를 첨부해야 한다. 이때 자신이 등록한 구매 제안만 확인이 가능하다. 페이지 기능을 지원한다.
3.
등록된 제안은 수정이 가능하다.
a.
이때, 제안이 등록될 때 추가한 작성자와 비밀번호를 첨부해야 한다.
4.
등록된 제안은 삭제가 가능하다.
a.
이때, 제안이 등록될 때 추가한 작성자와 비밀번호를 첨부해야 한다.
5.
대상 물품의 주인은 구매 제안을 수락할 수 있다.
a.
이를 위해서 제안의 대상 물품을 등록할 때 사용한 작성자와 비밀번호를 첨부해야 한다.
b.
이때 구매 제안의 상태는 수락이 된다.
6.
대상 물품의 주인은 구매 제안을 거절할 수 있다.
a.
이를 위해서 제안의 대상 물품을 등록할 때 사용한 작성자와 비밀번호를 첨부해야 한다.
b.
이때 구매 제안의 상태는 거절이 된다.
7.
구매 제안을 등록한 사용자는, 자신이 등록한 제안이 수락 상태일 경우, 구매 확정을 할 수 있다.
a.
이를 위해서 제안을 등록할 때 사용한 작성자와 비밀번호를 첨부해야 한다.
b.
이때 구매 제안의 상태는 확정 상태가 된다.
c.
구매 제안이 확정될 경우, 대상 물품의 상태는 판매 완료가 된다.
d.
구매 제안이 확정될 경우, 확정되지 않은 다른 구매 제안의 상태는 모두 거절이 된다.
Endpoints