Service
home
WOW Onboarding
home
🧩

[초급 백엔드 스터디 3회차 과제]

들어가기 앞서

모두 3회차 스터디도 수고 많으셨습니다!
이번 3회차 스터디에서는 3가지 주제에 대해 다뤄보았습니다.
ERD를 이용한 DB 설계
JPA 개념
JPA 를 활용한 DB 구현
ERD를 사용한 DB 설계의 경우, 스프링에 국한되지 않는 과정이니 알아두시면 프로젝트를 하실 때 도움이 될 거라고 생각해요.
이번 3회차 과제도 크게 3가지로 구성됩니다.
wil 작성 (JPA 개념을 정리해보시기를 추천드립니다)
todomate api 서버의 데이터베이스 erd 그려보기
JPA를 사용해서 설계한 erd 대로 테이블 만들어보기
자세한 내용은 아래 상세 설명을 참고해주세요 :)

과제

목표

ERD 그려보기
데이터베이스 연결해보기
ERD 에 맞춰 JPA로 테이블 만들어보기

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

week4/wil.md 를 작성해주세요. (폴더명 week4 입니다!) JPA 관련 개념이나 스터디 피드백, 느낀 점 등등 자유롭게 정리해주세요.
erdcloud.com 에 접속하셔서 로그인하신 뒤 직접 todomate api 서버가 사용할 데이터베이스를 설계하신 뒤 erd 를 캡쳐해서 wil.md 에 첨부해주세요.
erd 를 설계하실 때는 하단의 어플리케이션 기능 명세를 참고해주세요!
스터디를 진행했던 프로젝트에 이어서 진행해주세요. (깃허브에 올리셔서 과제 제출하실 때 프로젝트 소스코드도 같이 올려주세요. 나중에 배포할 때 깃허브에 프로젝트가 있어야 합니다 :)
1.
데이터베이스 & JPA 세팅하기
bulid.gradle 에 h2 데이터베이스와 jpa 의존성을 추가해주세요. 추가 하신 뒤에 꼭 gradle 을 다시 로드 하셔야 합니다!!
application.properties 파일의 확장자를 yml 로 바꿔주시고 스터디 pdf를 참고하여 설정값을 넣어주세요.
어플리케이션을 실행하시고, 관리자 콘솔에 접속이 되는 걸 확인해주세요.
2.
엔티티 클래스 생성하기
erd를 참고하여 엔티티 클래스를 작성해봅니다.
이때 폴더 구조는 도메인 별로 묶어서 작성하려고 해서 폴더 명세를 참고해주세요!
3.
어플리케이션을 실행하고 테이블이 만들어지는지 확인하기
어플리케이션을 실행하신 후, 관리자 콘솔에 들어가셔서 테이블이 정말 생성이 되었는지 확인해주세요.
sql을 입력할 수 있는 곳에 mysql 문법을 사용하여 자유롭게 insert 쿼리를 실행하여 데이터를 넣어보셔도 좋습니다 ㅎㅎ (jpa를 사용해서 데이터를 넣는 과정은 다음 주에 진행합니다!)
참고로 데이터베이스는 메모리상에 존재하기 때문에 어플리케이션을 종료하면 데이터가 사라지니 참고해주세요!
잘 되셨다면 wil 에 스크린샷을 함께 넣어주셔도 좋습니다.

폴더 명세 (예시)

week4/ └── wil.md └── erd 스크린 샷 └── 테이블이 생성된 관리자 콘솔 모습 스크린 샷 (선택) todoapi/ └── main/ └──── java/ └────── com.example.todoapi/ └──────── todo/ └────────── Todo.java └──────── member/ └────────── Member.java └────── ...
Shell
복사
폴더 구조는 위 형식을 참고하여 도메인 별로 묶어주세요!
나중에 TodoController, TodoService, TodoRepository 와 같은 클래스를 모두 하나의 todo 패키지 안에 모아서 넣을 예정입니다.
패키지 이름, 클래스 이름 같은 경우는 꼭 이렇게 따라하지 않아도 괜찮습니다. 각 엔티티 클래스마다 패키지(폴더)로 묶어주는 구조만 맞춰주시면 됩니다!

어플리케이션 기능 명세

회원가입 / 로그인
회원가입과 로그인의 경우, 정말 간단하게 구현할 예정입니다. 회원 테이블은 자유롭게 설계하시되, 간단하게 구현해주셔도 괜찮습니다.
회원 id (pk)
회원 로그인 아이디
회원 비밀번호 (선택)
정도로 가볍게 설계해주셔도 괜찮습니다. 비밀번호의 경우 꼭 넣지 않으셔도 괜찮아요. 이 경우에는 로그인 아이디만 넣고 로그인을 시도하면 바로 성공할거에요. (무조건 성공은 아닙니다. 로그인 아이디만 있더라도 로그인에 실패하는 상황은 언제일까요?) 하지만 ‘난 정말 제대로 클론해보고 싶다!’ 라고 하시면 비밀번호도 넣어보시길 추천드립니다. 비밀번호를 저장하기 시작하면 고민할 거리가 확 늘어나서 깊게 공부하기 좋거든요 ㅎㅎ
이 외에도 다른 필드가 필요하다고 생각하신다면 더 추가하셔도 좋습니다.
할 일
스터디를 진행하면서 만든 것 외에 더 다양한 필드를 추가해보고 싶으시면 더 추가해보셔도 좋습니다.
친구
친구 관계는 어떻게 표현해야 할까요?
N : M 관계는 테이블로 표현한다는 점을 기억해주세요. 이때, 관계를 나타내는 테이블에도 별도의 PK 컬럼을 만들어주세요.
예를 들어 회원과 동아리 소속 관계를 테이블로 저장한다면
(1, 1번 회원, 3번 동아리)
(2, 1번 회원, 4번 동아리)
(3, 2번 회원, 3번 동아리)
와 같이 저장하도록, 관계를 나타내는 외래키 컬럼 외에 별도의 PK 컬럼을 만들어주세요.
스터디 PDF 에서 ‘회원-동아리 erd’ 를 참고해보셔도 좋습니다.

마감 기한

10월 9일 23:59까지 제출해주세요.
이번 주 wil 파일은 week4 폴더에 담아주셔야 과제 체크가 됩니다!
혹지 지난 과제를 제출하지 못 하셨거나 수정하고 싶으신 분들은 이번 주에 함께 제출해주셔도 좋아요.
이때 wil 의 경우에는 꼭 해당 주에 맞는 폴더에 넣어주세요. 지난 2회차 스터디의 경우 week3 , 1회차 스터디의 경우 week1 폴더에 담아주세요!

제출 방법