[Study-0주차] Study 진행 방식
https://github.com/spring-projects/spring-petclinic GitHub - spring-projects/spring-petclinic: A sample Spring-based application A sample Spring-based application. Contribute to spring-projects/spring-petclinic development by creating an account on GitHub.
soohykeee.tistory.com
3/10일 첫 스터디 그룹의 방향성과 진행에 대해 얘기하는 시간을 가졌고,
3/17일에는 저번 스터디 때 남겨준 과제를 각자 발표하고 피드백 하는 시간을 가졌다.
우선적으로 앞서 1주차의 과제를 정리해보면 다음과 같다.
- 우리가 진행할 프로젝트인 PetClinic Project의 기능명세 정리
- 개념 정리
- Spring 이란?
- Springboot 란?
- JPA 란?
- ORM 이란?
PetClinic Project의 기능 명세 정리
해당 프로젝트는 애완동물 진료소 서비스를 제공하는 프로젝트이다.
홈페이지
- Owners : 소유자(주인)
- 소유자 등록 / 수정
- 모든 소유자 리스트 조회 / 소유자 조회 / 상세 정보 조회
- 소유자가 기르는 애완동물(반려동물) 리스트 출력
- 애완동물(반려동물) 등록 / 수정
- Verterinarians : 수의사
- 모든 수의사 리스트 조회 / 수의사 조회 / 상세 정보 조회
- 수의사 정보 수정
- 수의사 담당 애완동물 리스트 조회
- Pet Types : 애완동물 종류
- 애완동물 종류 등록 / 수정
- 모든 애완동물 종류 리스트 조회 / 상세 정보 조회
- Specialties : 수의사 전문 분야
- 전문 분야 등록 / 수정
- 모든 전문 분야 리스트 조회
- Visits : 방문 정보
- 애완동물 방문 정보 등록 / 수정 / 삭제
- 해당 소유자의 방문 정보 리스트 조회
Table 구조
- Owners (소유자, 주인)
- id : PK
- first_name : 이름
- last_name : 성
- address : 주소
- city : 도시
- telephone : 전화번호
- Types (애완동물 종류) - Enum
- name : 종류 이름
- Pets (애완동물)
- id : PK
- name : 이름
- birth_date : 생년월일
- (수정) type : 애완동물 종류
- ownder_id : 소유자 ID (FK)
- Visits (방문 정보)
- id : PK
- pet_id : 애완동물 ID (FK)
- visit_date : 방문 날짜
- description : 방문 내용
- Specialties (전문 분야) - Enum
- name : 전문 분야 이름
- Veterinarians (수의사)
- id : PK
- first_name : 성
- last_name : 이름
- (추가) specialities : specialties 이름
수정하는 부분이 있다면, Types 와 Specialties 클래스는 Enum 클래스로 두어 설정해 줄 예정이다.
개념 정리
[Study] Spring 정리 (IoC, DI, AOP, POJO, MVC)
[Study] Spring 정리 (IoC, DI, AOP, POJO, MVC)
Spring 이란? 정의 Spring이란 간단히 말하면 Java 기반의 웹 어플리케이션을 개발할 수 있는 오픈소스 프레임워크이다. 더욱 자세하게 용어를 풀어 설명하자면 다음과 같다. 오픈소스 : 용어에서 알
soohykeee.tistory.com
[Study] SpringBoot 정리
SpringBoot 란? 정의 SpringBoot란 Spring을 더 쉽게 이용하기 위한 도구라고 생각하면 쉽다. Spring은 다양한 기능을 제공해주지만, 그만큼 기존의 개발자들은 Spring을 사용하기 위해서는 일일히 모든 설
soohykeee.tistory.com
2주차 과제
2주차 과제는 다음과 같다.
Pet-Clinic Project의 ERD를 보고, 모든 클래스 생성 + 의존성 주입만, 기능 개발은 X
각 본인 Github - Repository에 '초성 + PetClinic-Study' Project 생성 후 개발하도록 했다.
각 branch를 생성한 후 모든 코드는 기능별로 commit을 하고, 최종 push를 한다.
push를 완료한 후, merge 하기 전 코드 리뷰를 진행 한 후, merge를 한다.
개발환경은 다음과 같다.
- Java 17
- Springboot 3.0.4
- Gradle
- IntelliJ
- H2
Commit 규칙은 다음과 같다.
- 기능별로 개발을 커밋
- 푸쉬 하나당 branch 하나
- commit 메시지 : type 기능
- Feat : 기능 추가 첫 커밋
- Fix : 장애/에러 수정
- Docs : 문서 수정에 대한 커밋
- Style : 코드 스타일 혹은 포맷 등에 관한 커밋
- Refactor : 코드 리팩토링에 대한 커밋