Skip to content

6주차미션_unyeon#30

Merged
si-zero merged 1 commit intomainfrom
week06_unyeon
May 10, 2026
Merged

6주차미션_unyeon#30
si-zero merged 1 commit intomainfrom
week06_unyeon

Conversation

@gkdmsgus
Copy link
Copy Markdown
Member

Summary

  • 6주차 미션: Prisma ORM 사용해보기
  • 기존 mysql2 Repository → Prisma ORM 전환 (전체)
  • schema.prisma 모델 정의 (Member, Region, FoodCategory, Store, Review, Mission, MemberMission)
  • mysql2 패키지 제거

구현 API

  • GET /api/v1/members/:memberId/reviews - 내가 작성한 리뷰 목록
  • GET /api/v1/stores/:storeId/missions - 특정 가게의 미션 목록
  • GET /api/v1/members/:memberId/missions - 내가 진행 중인 미션 목록
  • PATCH /api/v1/members/:memberId/missions/:missionId/complete - 미션 완료 처리

Test plan

  • 기존 API (회원가입, 가게 추가, 리뷰 추가, 미션 추가, 미션 도전) Prisma 전환 후 정상 동작 확인
  • 내가 작성한 리뷰 목록 Postman 테스트 완료
  • 특정 가게의 미션 목록 Postman 테스트 완료
  • 내가 진행 중인 미션 목록 Postman 테스트 완료
  • 미션 완료 처리 Postman 테스트 완료

관련 이슈

closes #29

Copy link
Copy Markdown
Contributor

@si-zero si-zero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기존에 작성하셨던 코드들을 prisma 로 바꾸는 작업이 쉽지 않으셨을텐데 정말 고생하셨습니다.

prisma 를 사용하면 복잡한 쿼리문을 작성할 필요 없이 저희에게 굉장히 익숙한 메소드 형식으로 쿼리문을 작성할 수 있습니다. 피드백 드린 내용도 확인해보시고 바꿔보시면 정말 좋을 것 같습니다.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

각 도메인별 에러코드를 설정해둔건 정말 좋은 방향성입니다.
나중에 도메인이 많아지고 에러코드 종류가 많아지면 도메인별로 에러코드를 분리하는 것도 좋은 방향입니다.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

현재 유효성 검증 로직이 분리되어 있지 않습니다.
API 수가 많지 않아 중복되는 검증 로직이 없어서 언년님께서 분리해두지 않은 것으로 보입니다.

나중에는 분리하는 방향도 엄청 좋아보이네요!

model MemberMission {
memberId BigInt @map("member_id")
missionId BigInt @map("mission_id")
status String? @default("CHALLENGING") @db.VarChar(20)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

미션 상태와 같은 컬럼은 들어갈 데이터가 정해져 있습니다.
해당 부분은 enum 으로 분리해보는 방향도 엄청 좋을 것 같아요!

@si-zero si-zero merged commit 6f42afd into main May 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Chapter 6] ORM 사용해보기 - Prisma 전환 및 목록 API 구현 (unyeon)

2 participants