[부트캠프] 뒤늦은 초급 프로젝트 회고

한동우·2025년 9월 3일

부트캠프

목록 보기
1/3
post-thumbnail

🤷‍♂️ 개요

써야지.. 써야지.. 생각만 하다가 끝난지 3개월 가량 지나서야 초급 프로젝트 회고 글을 적어보려고 한다. ㄱ-
우선, 프로젝트를 시작하기에 앞서 두 가지 주제 중 하나를 선택해야 했다. Open API를 활용한 금융 분석 도구직원 관리 시스템(EMS)이었는데, Open API를 사용해 보고 싶은 마음도 있었지만 첫 프로젝트였던 만큼 CRUD 기능을 제대로 학습하고자 팀원들과 상의하여 직원 관리 시스템(EMS)를 선택했다.


📂 프로젝트 주제

HR Bank

Batch로 데이터를 관리하는 Open EMS

⭐️ 주요 기능

  • 부서 관리 : 부서 정보 등록/수정/삭제/목록 조회
  • 직원 정보 관리 : 직원 정보 등록/수정/삭제/상세/목록 조회
  • 파일 관리 : 직원 프로필 및 첨부파일 업로드/다운로드
  • 직원 정보 수정 이력 관리 : 변경 이력 기록/조회
  • 데이터 백업 관리 : 데이터 백업, 이력 관리, 스케줄러 기반 자동 백업
  • 대시보드 : 부서/직원 현황, 주요 통계 및 시각화

🏃 프로젝트 시작

주제 선정 후 프로젝트를 시작했다. 팀장을 해보면 좋은 경험이 될 것 같아서 팀장을 맡게 됐고 본격적인 개발 시작 전엔 아래와 같은 공통 부분을 정했다.

  • Github Repository 생성
  • Ground Rule 및 R&R
  • 일정 관리 툴
  • 요구사항 분석 및 ERD 설계

나는 전체 직원 조회, 다양한 조건의 직원 현황 통계 기능을 담당하게 됐고 기능 이외에는 Github Repository 관리를 맡았다.

담당한 기능들이 쿼리메서드JPQL native Query로 쿼리문을 작성하기엔 복잡한 쿼리문이 필요해보였고 코드 가독성도 떨어질 것 같아서 다른 방법을 찾아야했다. 🤦‍♂️

찾아보니 JPA Specification, Criteria API, Querydsl이 있었고 다음과 같은 이유로 Querydsl을 선택했다.

  • 컴파일 시점에 에러를 잡을 수 있어 타입 안정성 제공
  • Java 코드로 JPQL 쿼리 작성 가능하여 코드 가독성 향상

🔎 트러블슈팅

  • 특정 기간의 직원 수 조회 문제
    특정 기간 동안의 직원 수를 통해 변동 추이를 확인할 수 있는 기능을 구현해야했는데 쿼리문을 잘못 작성해서 기준일 이전 데이터가 모두 불러와졌다. (더미 데이터로 확인 안했으면 큰일날 뻔..)
    어느 부분이 문제인지 한참 찾아보다가 발견하고 구글링GPT의 힘을 빌려 다음과 같은 흐름으로 코드를 변경했다.

    1. ACTIVE 직원들의 hireDate 조회
    2. 날짜별 신규 직원 수 집계
    3. 누적 인원 수 계산
    4. 분석 구간의 날짜 생성
    5. 날짜별 누적 인원 매핑
    6. 변화량, 변화율 계산
    7. 결과 DTO 반환

👍 팀원들

팀원은 나를 제외하면 4명이었는데 모두 열심히 해주셔서 편하게 프로젝트를 할 수 있었다.🙇‍♂️
기능 개발 중에 문제가 발생하면 바로바로 공유해 주셔서 문제를 빠르게 해결할 수 있었고 프로젝트에 도움이 될만한 것들을 거리낌 없이 공유해 주셨다. (디스코드 깃허브 연동, 코드래빗 등) (특히 코드래빗은 신세계였다..)
서로 단순히 맡은 일만 하는데 그치지 않고, 사담도 나누며 편안한 분위기에서 협업할 수 있었던 것도 좋았다. 프로젝트 기간이 짧아서 아쉬울정도..


🔚 마무리

  • 비록 열흘 남짓한 짧은 기간의 프로젝트였지만 백엔드 개발을 해야겠다고 마음 먹은 뒤 진행한 첫 프로젝트여서 배운 것도 많고 앞으로 더 깊이 공부하고 도전해야겠다는 동기를 얻었다 🔥.

  • 일정이 넉넉하지 않았고 백엔드 중심 과정이다 보니, 주어진 프론트엔드 코드에 맞춰 개발해야 해서 다양한 시도를 해보지 못한 것은 아쉬웠다. 😢

  • 구현할 기능 분배를 도메인별로 기능을 나누어 구현했는데, 프로젝트가 끝나고 보니 특정 팀원에게 업무 부담이 쏠렸던 것 같다는 아쉬움이 든다. (팀장으로서 깜냥이 부족했던 것 같다)

  • Railway로 배포를 했는데 다 같이 만든 프로젝트가 실제 서비스되는 것을 보니까 뿌듯했다. 😊😊

  • 강의 시간에 다루지 않았던 Querydsl, H2 Database와 같은 기술 스택을 직접 자료를 찾아 적용해 보면서 개발자로서 한층 성장할 수 있었다고 느꼈다.

3개의 댓글

comment-user-thumbnail
2025년 9월 4일

중급 프로젝트 회고 부탁드립니다 :)

1개의 답글
comment-user-thumbnail
2025년 9월 4일

오오 잘읽었습니다~ 중급 프로젝트도 궁금해지는군요!

답글 달기