Service
home
WOW Onboarding
home

[백엔드 정규 스터디 4주차 과제]

들어가기 앞서

강의 영상과 강의록

25-2 BE 정규 스터디_4주차.pdf
51 MiB

build.gradle 의존성 추가

JPA와 H2 의존성이 포함되어 있지 않으신 분들은 dependencies에 아래 내용을 추가 해주세요!
implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2database:h2'
Shell
복사

application.yml파일 내용

강의 실습 중 resources 디렉토리 내부에서
application.properties->application.yml 로 파일 형식을 수정하고,
파일 내용을 지운 후 아래 내용을 복사/붙여넣기 해주세요!
spring: application: name: shop datasource: url: jdbc:h2:mem:shop;MODE=MYSQL h2: console: enabled: true jpa: show-sql: true properties: hibernate: format_sql: true dialect: org.hibernate.dialect.MySQL8Dialect
YAML
복사

H2 데이터베이스 콘솔에 입력한 SQL문

INSERT INTO members (member_login_id, member_pw, member_phone, member_address, member_point) VALUES ('GDG스프링장인', 'password456' , '010-9876-5432', '서울시 서초구 반포동 456', 50000)
SQL
복사

링크 모음

H2 DB 콘솔(로컬에서 스프링 애플리케이션 실행 후 접속 가능)
안녕하세요 4주차 멘토 이 건 입니다.
이번 주차에는 컨트롤러 계층, 서비스 계층, 레포지토리 계층에 이어
DB와 엔티티에 대한 내용을 다루었습니다.
그 동안 여러분들이 직접 구현해오신 코드가 동작하는 것을
API 테스트를 통해 확인하는 뿌듯한 주차가 되길 바랍니다.
강의, 과제에 대해 궁금하거나 막히는 부분이 있다면
디스코드 채널 #백엔드-정규-스터디 또는 디스코드 개인 DM(혼돈균)에 남겨주세요:)
p.s. 목이 아픕니다. 딕션도 조금 이상한 것 같고요. 하하. 수강생 분들 이번 주만 너그러이 이해해주시면 감사하겠습니다.

과제

목표

DB ERD 그리기
엔티티 구현
Postman을 통한 API 테스트

온라인 쇼핑몰 어드민 프로젝트 DB ERD & 엔티티 구현

1.
Member, Product, Order 엔티티 구현
2.
wil.md 작성
3.
wil.md에 3가지 유형의 이미지를 첨부
DB ERD 스크린샷 (ERD Cloud, 또는 그 외 툴을 사용하셔도 좋습니다.)
스프링 애플리케이션 실행 후 생성된 H2 테이블 스크린샷
Member 엔티티를 제외한 도메인 Product, Order CRUD API 중 택 1: 성공 케이스(1장) + 실패 케이스(1장) postman 테스트 결과 스크린샷 첨부
기능 모음(참고)

강의 내용 정리

4주차 강의 내용을 week4/wil.md에 정리해주세요.

제출해야 할 파일과 파일 경로

member 외에 다른 도메인 디렉토리 내에 dto 디렉토리를 추가해도 당연히 괜찮습니다:)
하단 경로는 필수 디렉토리 & 파일을 기입한 것입니다.
week4/ └── wil.md └── db_erd.img └── h2_table.img └── api_succeed.img └── api_failure.img shop/ └── src/ └──── main/ └────── java/ └──────── com.example.shop ├── member (멤버) │ ├── MemberController.java │ ├── MemverService.java │ ├── MemberRepository.java │ ├── Member.java │ └── dto │ ├── MemberUpdateRequest.java │ └── MemberCreateRequest.java │ ├── product (상품) │ ├── ProductController.java │ ├── ProductService.java │ ├── ProductRepository.java │ └── Product.java │ ├── order (주문 내역) │ ├── OrderController.java │ ├── OrderService.java │ ├── OrderRepository.java │ └── Order.java │ └── config └────── resources/ └──────── application.yml . . .
YAML
복사

고민해볼 수 있는 부분

주문 (Order)과 상품 (Product)을 N:M (다대다) 관계로 바라볼 수 있습니다.
1.
주문 한 건에 여러 개의 상품 포함 가능
2.
상품 하나는 여러 건의 주문에 포함 가능
N : M 관계는 어떻게 표현했었는지 강의를 통해 확인 바랍니다:)
❗️ 물론 언급되지 않은 명세는 자유롭게 구현 가능하기 때문에
어드민 쇼핑몰 프로젝트에서 주문과 상품 도메인을 어떻게 설계하셨는지에 따라
N : M 관계로 바라볼 필요가 없을수도 있습니다.

마감 기한

11월 11일 (화) 23시 59분까지 제출해주세요!

제출 방법