중고차 판매 프로그램

중고차 판매 API

  • 유저가 email과 Password로 가입
  • 유저가 브랜드, 모델, 연식, 주행거리를 기반으로 예상 가격을 제공받음
  • 유저는 중고차를 판매하고 실제 가격 기입
  • 관리자가 기입된 가격을 검토 후 승인

API 디자인

Method and RouteBody or Query StringDescription
POST /auth/signupBody - { email, password }새로운 유저의 회원 가입 로그인
POST /auth/signinBody - { email, password }기존 유저의 로그인
GET /reportsQS - make, model, year, mileage, longitude, latitude자동차 가격 추정치 제공
POST /reportsBody - { make, model, year, mileage, longitute, latitude, price }판매 가격 기입
PATCH /reportsBody - { approved }유저가 제출한 가격 심사(가짜 데이터 차단)

Module 디자인

ModuleControllersServicesRepositories
Users ModuleUsers ControllerUsers ServiceUsers Repository
Reports ModuleReports ControllerReports ControllerReports 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되었는지도 확인한다.