대외활동 기록/내일배움캠프
[개인 과제 -Spring숙련] JPA를 활용한 일정관리 앱 서버 설계 (Level 1)
지유미
2024. 8. 22. 14:32
728x90
반응형
💡JPA를 활용하여 CRUD를 구현하고, 이를 통해 객체 지향적으로 데이터를 다룰 수 있다
💡JPA를 활용하여 데이터베이스를 관리하고 영속성에 대해서 이해할 수 있다
💡회원가입, 로그인을 통해 인증/인가를 이해하고 JWT를 활용할 수 있다
💡RestTemplate을 통해 외부 정보를 호출하고 활용할 수 있다
📌 요구사항 분석
일정 도메인 모델
- 작성 유저명
- 할일 제목
- 할일 내용
- 작성일
- 수정일
일정 관리 기능
- 일정 저장
- 단건 조회
- 담당 유저들의 고유 식별자, 유저명, 이메일이 추가로 포함
- 일정 수정
- 일정 페이징 조회
- 페이지 번호와 페이지 크기를 쿼리 파라미터로 전달하여 요청
- 할일 제목, 할일 내용, 댓글 개수, 일정 작성일, 일정 수정일, 일정 작성 유저명 조회
- 페이지크기는 10을 디폴트로 적용
- 일정 수정일 기준으로 내림차순 정렬
- 일정 삭제
- 일정 댓글로 함께 삭제
댓글 도메인 모델
- 댓글 내용
- 작성일
- 수정일
- 작성 유저명
댓글 관리 기능
- 댓글 저장
- 댓글 단건 조회
- 댓글 전체 조회
- 댓글 수정
- 댓글 삭제
사용자 도메인 모델
- 유저명
- 이메일
- 작성일
- 수정일
사용자 관리 기능
- 유저 저장
- 단건 조회
- 전체 조회
- 유저 수정
- 유저 삭제
* 일정은 유저명 필드 대신 유저 고유 식별자 필드를 가짐
* 일정을 작성한 유저는 추가로 일정 담당 유저들을 배치할 수 있다
💻 개발 과정
스프링 부트 스타터 사이트에서 스프링 프로젝트 생성
프로젝트 선택
- Project : Gradle - Groovy
- Language : Java
- Spring Boot : 3.3.2
Project Metadata
- Group: com.sparta
- Artifact: schedulemanagement
- Package name: com.sparta.schedulemanagement
- Packaging : Jar
- Java : 17
Dependencies
- Spring Web
- Thymeleaf
- Lombok
API 명세서 작성
ERD 설계
728x90
반응형