Develop

2차 프로젝트 회고 & 트러블 슈팅 본문

백엔드/KDT_Programmers

2차 프로젝트 회고 & 트러블 슈팅

230801 2025. 5. 23. 02:49

안녕하세요 .ᐟ 

 

2차 프로젝트 종료 후 회고 및 트러블슈팅을 공유합니다.

 

 


 

프로젝트 회고

지난 몇 주간 진행했던 2차 팀 프로젝트가 어제부로 마무리 되었습니다.

 

이번 프로젝트는 Spring Boot 기반의 웹 애플리케이션을 팀 단위로 설계·구현하는 과정이었고,

저의 주요 역할은 대시보드 구현 으로 [백엔드 개발 / API 설계 / DB 설계 / 화면 연동] 등을 진행했습니다.

 

프로젝트를 진행하면서 느낀점등을 회고 해보려 합니다.

 

 

개발 과정 속 경험들   🌱

기획/ 개발

  • 팀원들과 협업하며 Git 브랜치 전략, 커밋 컨벤션, 이슈 기반 개발을 실제로 적용해볼 수 있었고,
  • 기획 단계부터 WBS 작성 → ERD 설계 → 화면 설계 → API 명세 → 구현까지 전반적인 개발 프로세스를 따라가며 많은 것을 배웠다.
  • 특히 이번에는 게이미피케이션 요소를 도입하고, AI 피드백 시스템과 연동하는 등 새로운 기능을 도전해봤다는 점이 의미 있었다.
  • 팀원이 구현해놓은 Spring Security 인증 흐름에 내화면의 권한을 열어보면서 사용자 권한 관리 개념을 익혔다.
  • Thymeleaf와 REST API 혼용 구조에서 데이터 흐름을 설계하고 개발하면서 MVC 구조를 실습해볼 수 있었다.

협업 능력

  • 부트캠프 지원서 작성할때도 협업능력을 적는 란이 있었는데, 혼자 공부할 당시에는 협업경험이 거의 없고, 파이썬 오프라인 수업들을때 팀프로젝트 당시 진도를 못따라오는 팀원에게 내가 학습한내용을 블로그에 적어 공유했었던 내용을 적었었다.
  • 근데 이번 2차 프로젝트를 진행하면서 팀원들과의 커뮤니케이션을 통해 '협업을 통해 결과물이 달라진다' 는것을 체감했다.
  • 팀 활동시간에 각자 개발하면서, 오류가 발생하면 우리끼리 쓰던 유행어가 있는데 "화면공유 고고" 이다 ㅎㅎ 실제로 안풀리던 문제도, 다른 팀원이 알고있어서 해결하는경우도 많았고, 진짜안풀리면 강사님을 모셔서 화면공유하면서 같이 해결한적도 있다. 
  • 친하지 않았을때 부터 저 유행어를 쓰면서 더 가까워지고 허물없이 문제가 생기면 바로 공유하고 해결하고 넘어가서 소외되는 사람없이 재미있게 프로젝트를 진행했었다. 

 

 

아쉬웠던 점

  • 일정 관리에 있어 초기 설계가 부족했고, 중후반에 일정이 많이 몰리는 바람에 테스트 코드나 예외처리는 다소 미흡했다.
  • 더 적극적으로 기획에 의견을 내고 코드 리뷰를 요청했으면 좋았을 것 같다는 아쉬움이 남는다.
  • 완성도 면에서 디자인/UX 요소를 백엔드 관점에서도 더 고민했으면 좋았겠다.

 

 

다음 프로젝트 목표

  • 3차 프로젝트에서는 테스트 코드와 예외처리에 더 집중하고,
  • 리팩토링과 성능 고려까지 할 수 있는 여유를 확보하는 것이 목표다.
  • 개인적으로는 OAuth 인증 적용, JPA 를 심화해서 다루고 싶다.

 

 


트러블 슈팅 모음

2차 프로젝트를 진행하면서 트러블 슈팅을 관리하지 않아서,

그날그날 적어놨던 걸 찾아보고 모았는데, 3차진행할때는 위키처럼 모아놔야겠다는 생각이 들었습니다. 하하

 

2025-05-17 | 알림 데이터 0건 출력 오류

  • 현상: 대시보드에 표시되는 주요 알림이 항상 0건으로 출력됨
  • 원인: goal.getEndDate()를 참조하던 기존 로직이 실제로는 GoalCompanyendDate를 사용해야 했음
  • 조치: .map() 내부에서 goalCompany.getEndDate()를 기준으로 D-DAY 계산하도록 변경함

 

2025-05-18 | 정렬 안 되는 문제

  • 현상: 주요 알림이 D-DAY 순으로 정렬되지 않음
  • 원인: ChronoUnit.DAYS.between(today, endDate)가 잘못된 today 참조로 인해 오류 발생
  • 조치: LocalDate today = LocalDate.now(); 선언 위치를 확인 후 로직 상단에 명시적으로 선언함

 

2025-05-19 | DashboardDto의 goalCompanies 정렬 누락

  • 현상: 목표 기업 리스트가 무작위 순으로 나열됨
  • 원인: .sorted(Comparator.comparing(GoalCompanyDto::getEndDate)) 누락
  • 조치: 리스트 변환 직전에 정렬 로직 추가함

 

2025-05-21 | 알림 수 표시 오류

  • 현상: 알림 수 0으로 출력됨에도 불구하고 실제 데이터 존재
  • 원인: AlertDto 리스트는 필터링되어 7일 이내만 표시되는데, 그 외에는 표시되지 않음에도 count에는 반영됨
  • 조치: 알림 수를 alerts.size() 기준으로 출력하도록 수정함

 

 

감사합니다~ .ᐟ