[최은비] sprint10#37
Conversation
|
은비님 스프린트 10 백엔드 과제도 잘 수행해주셨습니다!
routes: URL 경로와 HTTP 메서드 정의 (라우팅) 큰 규모의 프로젝트(확장성 중요)의 경우: 도메인 중심 설계(DDD)가 더 효과적입니다. NestJS의 모듈 구조와 유사하며, 도메인별로 관련 코드가 함께 있어 확장에 유리합니다. src/
domains/
users/
user.controller.js
user.service.js
user.model.js
user.route.js
products/
product.controller.js
product.service.js
product.model.js
product.route.js
shared/
middlewares/
utils/
config/아키텍처를 정할 때 Best Practice 가 있기 보다는 위와 같은 구조로 프로젝트를 진행했을 때 관리해야하는 파일수가 몇개나 필요하고 폴더 내에서 파일이 많이 늘어난다면 어떤 구조가 더 유리할지, 우리 팀에서는 현재 프로젝트를 진행할 때 어떤 부분이 더 좋을 지를 생각해보고 결정하는 것이 좋습니다. 중요한 건 제3자에게 명확하게 책임구분을 기반으로 아키텍처에 대해 설명할 수 있는 규칙과 기준이 있어야 하는데, 일반적으로 코드베이스의 규모, 함께 작업할 팀원들 간의 숙련도 및 러닝커브 등을 고려해서 결정하게 됩니다. express 에서는 보통 위 2가지 아키텍처를 일반적으로 자주 사용합니다.
|
우와 자세한 설명 감사합니다 멘토님 ! 👍 저희 지난주 멘토링 이후에 바로 프로젝트에 DB 관계설정 적용하였습니다 :) 멘토링 시간에 질문 이어가도록하겠습니다 . 감사합니다 ~~ |
배포 URL
https://mission10-be.onrender.com/
Swagger docs
https://mission10-be.onrender.com/api-docs/
프로젝트 요구사항
기본 요구사항
백엔드 구현 요구사항
상품 등록
상품 상세
좋아요 기능
$transaction을 사용해 주세요.$transaction을 사용해 주세요.isLiked필드를 응답 객체에 포함시켜 반환해 주세요.에러 처리
라우트 중복 제거
app.route()로 통합해 중복을 제거합니다.express.Router()를 활용하여 중고마켓/자유게시판 관련 라우트를 별도의 모듈로 구분합니다.인증
id, email, nickname, image, encryptedPassword, createdAt, updatedAt필드를 가집니다.email, nickname, password를 입력하여 회원가입을 진행합니다.password는 해싱해 저장합니다.상품 기능 인가
게시글 기능 인가
댓글 기능 인가
멘토에게