중고차 판매 프로그램
중고차 판매 API
- 유저가 email과 Password로 가입
- 유저가 브랜드, 모델, 연식, 주행거리를 기반으로 예상 가격을 제공받음
- 유저는 중고차를 판매하고 실제 가격 기입
- 관리자가 기입된 가격을 검토 후 승인
API 디자인
Method and Route | Body or Query String | Description |
---|---|---|
POST /auth/signup | Body - { email, password } | 새로운 유저의 회원 가입 로그인 |
POST /auth/signin | Body - { email, password } | 기존 유저의 로그인 |
GET /reports | QS - make, model, year, mileage, longitude, latitude | 자동차 가격 추정치 제공 |
POST /reports | Body - { make, model, year, mileage, longitute, latitude, price } | 판매 가격 기입 |
PATCH /reports | Body - { approved } | 유저가 제출한 가격 심사(가짜 데이터 차단) |
Module 디자인
Module | Controllers | Services | Repositories |
---|---|---|---|
Users Module | Users Controller | Users Service | Users Repository |
Reports Module | Reports Controller | Reports Controller | Reports Repository |
처음부터 완벽하게 디자인 할 순 없다. 이를 기반으로 진행하면서 추가하면 된다.
Repository는 데이터를 저장하는 방법에 따라 매우 달라지기 때문에 현재는 생성하지 않는다.
프로젝트 시작하기
새로운 디렉토리에서 nest new mycv
후 npm을 선택하여 새로운 프로젝트를 설치하자. 이름은 mycv 아니여도 된다.
모듈, 컨트롤러, 서비스 2개씩 생성한다.
nest g module users
nest g module reports
nest g controller users
nest g controller reports
nest g service users
nest g service rerports
src 디렉토리에 알맞게 생성되었는지 확인하고, app,module.ts에올바르게 import되었는지도 확인한다.