- 팀 과제 필수 요구사항
- 호텔은 여러 객실, 보유 자산을 가지고 있다.
- 객실은 객실 당 하루에 한 사람만 예약이 가능하다.
- 객실은 크기, 숙박비를 가진다.
- 예약은 객실, 고객의 이름, 고객의 전화번호, 예약 날짜를 가지고 있다.
- 전화 번호 제한(XXX-XXXX-XXXX) 정규 표현식 (선택)
- 예약 날짜 ****
- 날짜는 ISO 8601 형식으로 조합된 UTC 날짜 및 시간 예) 2016-10-27T17:13:40+00:00
- 고객은 이름, 전화번호, 소지금을 가진다.
- 고객 소지금보다 비싼 방은 예약 불가
- 호텔은 모든 예약 목록을 조회 할 수 있다.
- 고객은 자신의 예약 목록을 조회 할 수 있다.
- 예약 번호로 예약 내역을 조회한다
- 고객은 자신의 예약을 취소 할 수 있다.
- 고객이 호텔 예약 시에 예약 번호(id)를 반환 (uuid 활용)
- 고객이 호텔 예약에 성공하면 예약 번호(id)를 받는다.
- 고객이 예약 목록을 조회 시 예약 번호도 같이 조회 된다.
- 고객이 예약 취소 시 예약 번호를 통해 자신의 특정 예약을 취소한다.
- 팀 과제 설계
객체와 각 개체의 필드, 구현해야 하는 기능들에 대해 노션을 이용해 생각해보다가 원활한 소통을 위해 플로우 차트 등을 이용했다.
노션을 이용해 출력할 화면을 구상했다. (UI 설계)
https://www.notion.so/whyes/9338302681464ed2a07cf8aec43438f9
팀장님께서 틀만 작성하신 코드를 깃허브에 올려 주셔서 clone 후 각자의 환경을 세팅했다.
한글이 깨지는 문제가 발생해서 build.gradle 파일에
compileJava.options.encoding = 'UTF-8'
을 추가한 후, 인코딩 방식과 Gradle JVM 등의 설정을 바꾸고 새로고침하여 해결했다.
팀장님의 코드를 검토하는 과정에서 input을 받을 때 scanner보다 더 빠른 BufferReader를 이용하는 방법을 알려주셨다.
private final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
private StringTokenizer st;
private int getInputNumber() throws IOException {
st = new StringTokenizer(br.readLine());
try {
return Integer.parseInt(st.nextToken());
} catch (NumberFormatException e) {
throw new IllegalArgumentException();
}
}
깃 컨벤션을 정하면서 commit 메세지 방식을 설정하고 깃 플로우에 대해 알아보았다.
https://velog.io/@archivvonjang/Git-Commit-Message-Convention
https://onlyfor-me-blog.tistory.com/433
일단 이번 팀 과제를 하면서 우리 팀은 깃허브의 pull request와 issure를 중점으로 활용하기로 했고
branch는 주로 main, develop, feature를 사용하기로 정하였다.
- Git 특강 2회차
https://jinjinjincode.tistory.com/155
소감: 팀 과제를 시작하기 전부터 어떻게 설계하고 소통하면 좋을지에 대한 막막함이 있었는데 그래도 팀원들과 노션, 다이어그램 등을 이용하면서 나름 열심히 소통할 수 있었던 것 같다. 그리고 팀 과제 회의를 하면서 깃이나 컨벤션 등 여러 가지 것들을 팀원들로부터 배울 수 있는 시간이었다. 깃 허브를 적극적으로 활용하는 것을 팀 목표로 삼았는데 과제를 하는 동안 이 목표를 잘 이뤘으면 좋겠다.
'TIL' 카테고리의 다른 글
[231026] 팀 과제 역할 코드 수정, 개인과제 리뷰 (0) | 2023.10.26 |
---|---|
[231025] 팀과제 역할 분담 및 수행, SOLID (0) | 2023.10.25 |
[231023] 개인 과제 리뷰 (0) | 2023.10.23 |
[231021] 클래스 다이어그램, 3주차 숙제 복습 (0) | 2023.10.21 |
[231020] 개인 과제 마무리, OOP 강의 (0) | 2023.10.20 |