2022년 9월에 진행한 팀프로젝트
-
인원 : 정정일, 김성호, 김희정, 정지영 총 4명
-
프로젝트 기간: 2022년 9월 18일 ~ 2022년 9월 21일
-
- 회원가입을 통해 User와 Doctor를 생성 및 로그인 할 수 있게 하여, User가 게시판에 질문을 올리면 이를 Doctor가 조회할 수 있게 하고 feedback과 소통을 할수있다 User는 마이페이지에서 자신의 반려동물을 등록할수있다
-
- java - jquery - jpa - html,css,js(java script) - spring boot framework - MySQL - github - gradle
-
- 화원가입 및 로그인
- 반려 동물 등록, 수정, 삭제
- 반려 동물과의 가족관계증명서 발급
- 게시글 작성, 수정, 삭제
- 댓글 작성, 삭제
-
- Window 11 - 다른 OS에선 구동해보지 않았습니다.
-
---Architecture 문제 사항---
= 설계를 회의와 대화로만 진행하고 정리 및 도식화를 하지 않은 채로 프로젝트를 진행함 -> 사실상 설계를 하지 않은 것 1. 기획의 부재 - 어떤 프로그램을 만들지, 어떤 식으로 만들지, 이루고자 하는 바가 무엇인지를 정리하지 않고 시작함 - 프로그램을 추상적인 생각만하고 구체적인 정리를 하지 않았다. - 기획서를 작성한다고 하면 어떤식으로 작성해야 하는가 - 기획에서 어떤식으로 진행할지 명확하게 명시하지 않았다. 2. DataBase에 대한 고찰 부족 - 기획의 부재로 사전 제작한 ER diagram이 없었다. - 그에 따라 프로젝트 도중 DB를 3번 drop함 3. 업무분배 불명확 - 처음에는 기능별로 업무를 나누고자 하였다. - 진행도중 리팩토링이 필요하고 entity와 DTO(VO)의 분리가 필요하단 사실을 알게되면서 업무분배가 사실상 무산됨 4. Application flow chart 부재 - Application flow chart마저도 추상적인 생각만하고 구체적인 정리를 하지 않았다.
---Architecture 개선 사항---
1. 기획서 - 프로젝트를 진행하기 전 How, What, Who를 정확하게 정리할 필요가 있음. - Service를 기획할 때 client입장에서 더 생각할 필요가 있음. 2. Database - 추후에는 정확한 DB설계에 따라 필요한 Table과 index를 정리할 필요가 있음. 3. 업무분배 - 정리된 기획에 따라 명확하게 역할을 나눌 필요가 있음
---구현에서의 문제---
1. Database - 쓸모 없이 varchar(30)으로 지정되있거나 그 외에도 제한을 걸어둔 column이 너무 많음 - doctor_id, doctor_licensenumber가 같은 unique인데 따로 지정되있음 - user들이 가장 많이 사용하게 될 data가 있는 table은 pet인데 그 곳에 대한 고찰이 부족함 * category, category_detail을 type으로 나눠서 숫자로 저장되게 할 것 2. TestUnit - Repository에 대한 테스트만 진행하였고 Controller, Service에 대한 테스트는 진행하지 않았음 - PostMan을 이용한 테스트는 최후에 진행하였어야 했으나 이 프로그램으로 대부분의 테스트를 진행했음 3. Exception Handler 부재 - 예외처리에 대한 throw catch가 전혀 없음 4. PW encrypt코드 기능 구현 부족 - salt에 대한 부분이 제대로 기능하지 않음 5. 가독성이 좋은 코드를 쓰도록 노력 - if(userId !== null || doctorId !== null) -> if(userId == null && doctorId == null) - or연산자 보다 &&연산자가 더 가독성이 좋고 연산량도 적다.
-
-
정정일
다소 아쉬움이 많이 남는 프로젝트였다. 명확한 기획의 부재로 프로젝트를 진행하며 생겼던 이슈들로 진행도중 수정할 사항이 많았었는데, 코드를 작성하는 것 만큼이나 기획과 설계가 아주 중요하다는 것을 느낄 수 있었다. 처음으로 Git을 비교적 활용하며 프로젝트를 진행했다는 점에서는 만족했지만, 그 외에 설계나 기획 면에서는 앞으로 프로젝트를 할때 많은 개선과 생각이 필요할 것 같다.
-
김성호
처음에 설계했던 것 보다 프로그램이 훨씬 커져 힘들었고 확장할때 기존의 것들을 너무 많이 수정해야 해서 시간이 많이 걸렸다. 첫 설계를 좀 더 신중하게 해야 할 것 같다
-
정지영
이번 프로젝트는 자기 자기 능력을 크게 향상시키고 싶어서 구상을 최대한으로 끌어올린 거 같습니다, 하지만 시간적 분배가 올바르게 이루어 지지 않아 메인 페이지에 비해 다른 부분들의 퀄리티가 올바르게 구상되어있지 않은 거 같습니다. 다음부터는 시간분배의 힘을 써서 전반적으로 퀄리티가 평등한 프로젝트를 만들고 싶습니다
-
김희정
아직도 코드를 짠다는 것이 막막한데 다른 분들은 어떻게 코드를 작성하는지 볼 수 있어서 좋았습니다. CRUD의 기능구현을 이렇게하는구나 하는 것을 보고 배울수있었습니다. git에 조금더 친숙해질 수 있었습니다. 1인분의 역할을 하기위해 공부를 열심히해야겠다고 생각했습니다
-