2024.07 — 2024.08개인 프로젝트
BOOT_UP
부트캠프 수강생 커뮤니티 — 백엔드 · 프론트 · DevOps 전 단계
- 맡은 일
- Backend · Frontend(Vue) 리드 · DevOps (팀 5인, 단계별 역할 전환)
- 기간
- 2024.07 — 2024.08
- 소속
- 한화시스템 Beyond SW Camp
한화시스템 BEYOND SW캠프 수강생 전용 커뮤니티 플랫폼입니다. 캠프가 디스코드만 쓰고 있어 기수 간·수료자 간 소통이 끊긴다는 문제에서 출발해, 커뮤니티·공지사항·출결 알림·스터디룸 예약을 하나로 묶었습니다.
이 프로젝트의 특징은 같은 서비스를 단계별로 다시 만들었다는 점입니다 — 2차에서 Spring 백엔드를, 3차에서 Vue 프론트를, 마지막에 Docker·GitHub Actions 배포를 붙였습니다. 덕분에 하나의 도메인을 서버·화면·배포 세 시점에서 보게 됐고, 이후 프로젝트에서 백엔드와 이야기할 때의 기준이 여기서 생겼습니다.
제 첫 백엔드 프로젝트로 N+1 문제, DB 분산, AWS 구성, 모니터링까지 직접 부딪혀 봤고, 프론트 단계에서는 Vue 리드를 맡아, 백엔드를 함께 만든 팀원들과 화면을 나눠 맡고 API를 함께 맞춰 갔습니다.
핵심
- 01
같은 서비스를 3단계로
2차 Spring 백엔드 → 3차 Vue 프론트 → DevOps 배포까지 역할을 바꿔가며 수행
- 02
첫 백엔드 프로젝트
N+1 문제, MariaDB 이중화와 HAProxy 읽기 분산, AWS(EC2·RDS·S3) 구성, 모니터링까지 직접 다뤄 봄
- 03
프론트 단계 리드
백엔드를 함께 만든 팀원들과 Vue 화면을 나눠 맡고 API를 맞춰 감
- 04
프론트 단계 커밋 54건
통합검색, 마켓 찜·검색, 댓글·대댓글, 게시글 상세, 공지사항, 메인
나머지 4개 더 보기접기
- 05
백엔드에서 QueryDSL 동적 쿼리와 검색 기능 구현
- 06
전역 예외처리와 BaseResponse 성공·에러 코드 체계를 세워 응답 형태를 팀 전체가 공유
- 07
DevOps 단계
GitHub Actions(JDK 17 + Gradle) → Docker 이미지 빌드 → docker-compose로 백엔드·프론트 동시 기동
- 08
PR·이슈 템플릿과 코드 컨벤션을 정해 5인 팀의 PR 기반 협업 규칙을 문서화
화면
Pl. 2of5
설계 문서와 배포했던 서비스 화면입니다. 화면 속 팀원 이름은 가렸습니다.
자세히
궁금한 항목을 펼치면 그때 무엇이 문제였고 어떻게 판단했는지 나옵니다.
QueryDSL로 동적 쿼리를 구성해 게시판 검색 기능 구현
전역 예외처리 메시지와 BaseResponse 성공·에러 코드 체계를 세워, 화면이 응답 형태를 추측하지 않게 함
공지사항(NOTICE) 도메인의 엔티티·컨트롤러 구현과 반환 타입 정리
스터디룸 좌석 예약의 시간 타입을 재정의해 예약 충돌 판단을 단순화
feature 브랜치 + PR 기반 협업
PR·이슈 템플릿을 작성해 팀 규칙으로 정리
프론트 단계 리드를 맡아, 백엔드를 함께 만든 팀원들과 화면을 나눠 맡고 서버 쪽 사정을 아는 사람끼리 API를 맞춰 감
커뮤니티 게시판 전반
목록·상세·작성·수정, 댓글과 대댓글 조회를 화면에 연결
통합검색 구현
게시판·마켓·공지사항을 가로지르는 검색 화면 구성
마켓 찜하기와 마켓 검색 완성, 메인 페이지·공지사항 화면 정리
회원(User)·프로젝트 게시판·스터디 자리 예약 화면과 공통 레이아웃 작업
JWT를 HttpOnly로 다루고 액세스 토큰 만료를 1시간으로 두는 등, 팀 위키에 정리된 인증 정책에 맞춰 화면을 연결
배운 것
제 첫 백엔드 프로젝트입니다. N+1 문제, DB 분산, AWS 세팅, 모니터링 시스템을 직접 해 보면서 프론트엔드 개발자로서 시야가 크게 넓어졌습니다.
API를 설계하고 백엔드를 세팅하며 익힌 것들은 실무에서 정말 많이 써먹었습니다. 서버와 백엔드를 아는 프론트엔드 개발자가 되면서 맡을 수 있는 일의 범위가 크게 늘었고, 백엔드 개발자들이 하는 고민을 저도 같이 하게 됐습니다. 이후 현업에서 협업할 때 가장 많이 꺼내 쓴 경험입니다.
팀원들이 정말 열정적이었습니다. 부트캠프에서 배우는 고급 기술을 하나라도 더 응용해 보느라 바빴고, 그냥 돌아가는 백엔드가 아니라 좋은 백엔드 코드를 짜려는 팀원들 덕분에 많이 성장했습니다.
프론트 단계에서는 리드로 Vue 작업을 맡았습니다. 백엔드와 터놓고 제대로 협업한 첫 경험이었고, 서로에게 정말 많은 도움이 됐습니다.
쓴 기술
이어서 볼 것
한화시스템 Beyond SW Camp에서 한 다른 프로젝트