728x90
반응형
📢 SSAFY 정책상 해당 프로젝트의 Github 저장소는 private입니다.
💻 프로젝트 페이지와 구조
🧑 맡았던 역할
- 백엔드: Springboot와 Mybatis로 Rest API 제작, Swagger로 API 문서화 및 테스트 진행
- 데이터베이스: MariaDB를 기반으로 HeidiSQL 툴에서 DB 구축/관리
💪 기여한 점
- Controller, Service, Dto, Dao에 따라 Rest API 제작
- Mybatis로 분산된 쿼리문을 XML기반으로 한번에 관리
- Springboot에 Swagger를 적용하여 API를 손쉽게 테스트하고, 팀원들과 문서화된 API 공유하며 효율적인 협업을 이끌어냄
✅ 아쉬웠던 점
- 비즈니스 로직을 Service에서 구현해서 웹 계층간의 코드 분리를 못함
- 쿼리문을 작성하는 시간이 많았고, 단순 DML 밖에 없었음
- Getter/Setter와 스프링에 빈을 주입하는 방식이 코드의 유지보수성을 떨어트림
- 소셜 로그인 기능의 부재
- 테스트할 때마다 톰캣을 재부팅하며 개발 시간 지연
🛠 개선해야할 사항
- Domain 패키지를 구축해서 비즈니스 로직 구현하기
- JPA 활용하며 중복되는 쿼리문 없애기
- lombok으로 Dto코드를 간결하게 만들면서, 생성자로 빈 주입하기
- Spring Security와 OAuth2.0 도입하기
- JUnit으로 테스트 코드 작성하며 빠르고 손쉬운 테스트 진행하기
💡 프로젝트 진행하며 발생한 이슈
- 특별히 기술적인 문제는 없었음
- Springboot 프레임워크를 처음 사용해봤기 때문에 프로젝트 초기, 크고작은 에러가 많았음
- Java를 모르는 팀원이 있어서 제작한 API를 공유하기 어려웠음
🔑 해결책
- 기술적인 문제보다 협업하는 상황에 맞춰서 적절한 기술 적용
- 매일 2시간씩 아카데미에 남아서 Springboot 공부, MVC패턴과 API를 구성하는 객체들, Annotation에 대해 배우게 됨, 이외에 Swagger와 Mybatis라는 기술을 습득하며 적용
- Springboot에 Swagger를 적용하여 API를 문서화, 팀원들과 API를 공유하기 편해졌고, Java를 모르는 팀원도 금방 이해할 수 있게 됐다. 또한, API를 빠르게 테스트하며 완성도를 높일 수 있었다.
🙋♂️ 전체적인 느낀점
프레임워크를 처음 접했을 때, 개발 환경을 갖추는데만 오랜 시간이 걸려 당황스러웠다. 하지만, 매일 공부와 병행하며 프로젝트를 진행한 결과, 사소한 이슈들을 90%이상 줄일 수 있었다.
웹을 주제로 한 팀 프로젝트를 처음 진행했기에 협업하는 과정들이 가장 기억에 남는다. 특히, Gitlab과 Jira를 기반으로 프로젝트 및 일정 관리를 진행했다. 저장소에서 branch를 만들고, master에 머지하면서 팀원들의 코드를 빠르게 하나로 합칠 수 있었고, 매일 아침 스크럼 회의를 하면서 프로젝트의 진행 상황을 정확히 파악하며 일정을 조율할 수 있었다.
이외에도 팀원들과 함께 draw.io를 작성하며 데이터 모델링을 진행하였고, 이를 기반으로 DB를 구축했다.
프로젝트를 진행하면서 생긴 고민들을 개발 도구로 해결하는 과정들도 즐거웠던 기억이 있다.
- 고민1: 어떻게 하면 쿼리문을 한 곳에서 관리하지?
- 고민2: API들을 효과적으로 관리할 수 있는 방법이 있을까?
수상하지 못한 것이 아쉬었지만, 아카데미에서 비전공자로 분류돼 Python만 배웠던 내가 Java를 독학하고 나서 Springboot까지 활용해봤다는 것 자체만으로 뿌듯했다. 게다가 아무런 명세서와 가이드없이 프로젝트를 진행하다보니 온갖 이슈들에 대응하는 방법들을 터득할 수 있었다.
개발 외적으로는 팀원들과 소통하며 협업했던 경험들이 향후, 실무에서 협업할 때 큰 바탕이 될 수 있다고 생각한다. 내 의견이 아닌 다른 사람의 의견도 수용할 줄 아는 자세를 갖고 협업에 임할 것이다.
728x90
반응형
'Developer's_til > 프로젝트 요약' 카테고리의 다른 글
[개인] 지역별 점포 파악 서비스(가명) (0) | 2023.01.08 |
---|---|
[안드로이드] 우산 챙겨주는 알람시계 (0) | 2021.08.06 |
[SSAFY] 2차 프로젝트 - 영화 추천 서비스 (0) | 2021.07.30 |