[Control Tower] 개발 및 운영 회고

2026. 3. 14. 17:14·Projects/Team Projects

1. 프로젝트 개요

  • 한 줄 소개: "복잡한 항공 인력 스케줄링과 인사 행정을 한눈에 관리하는 SaaS 플랫폼"
  • 개발 기간: 2026.01.06 - 2026.03.03 (팀 프로젝트)
  • 기술 스택: Java, Spring Boot, React, MySQL, AWS (EC2), Spring AI, Nginx
  • 주요 기능: 대시보드를 통한 실시간 인력 현황 모니터링
    • ERD 설계를 기반으로 한 체계적인 인사 데이터 관리
    • Spring AI를 활용한 명함 인식 회원가입 및 이미지 기반 근태 정정 신청
    • AWS를 활용한 안정적인 클라우드 배포

2. 나의 역할

이번 프로젝트에서 형상관리자와 풀스택 개발자 역할을 겸임했습니다.

  • Frontend: 전체적인 프론트엔드 UI/UX 구현 (React)
  • Backend: 근태/휴가 관리 시스템, 건강 프로그램 신청 로직 구현
  • AI Integration: Spring AI를 활용한 이미지 OCR 기반 데이터 처리
  • DevOps: AWS EC2 환경 구축 및 Nginx를 이용한 서비스 배포

복잡한 항공 인사 행정 시스템을 구현하기 위해 설계한 ERD입니다. 사원 정보를 중심으로 근태, 스케줄, 건강 프로그램 등이 유기적으로 연결되도록 구조화했습니다.

 


3. 핵심 트러블슈팅: 땀 흘리며 배운 배포와 형상관리

① 보안 사고 방지: .gitignore와 캐시 삭제

프로젝트 초기, 팀원이 실수로 DB 비밀번호와 JWT 설정이 담긴 application_secret.yaml을 GitHub에 업로드하는 일이 발생했습니다. 형상관리자로서 가장 먼저 대응한 이슈였습니다.

  • 문제: 이미 원격 저장소에 올라간 파일은 .gitignore에 추가해도 계속 추적됨.
  • 해결: git rm --cached 명령어를 통해 원격 저장소의 캐시를 삭제하고, 팀 전체에 Pull -> Conflict 해결 -> Push 워크플로우를 전파하여 보안 이슈를 해결했습니다.

② Nginx 설정과 실시간 통신(SSE, Chat) 삽질기

가장 고생했던 부분은 AWS 배포 환경에서의 양방향 통신 설정이었습니다. 로컬에서는 잘 작동하던 채팅과 알림 기능이 배포만 하면 작동하지 않았습니다.

  • 고충: 배포 환경에서는 수정 사항을 확인하려면 매번 빌드와 배포를 반복해야 했고, CMD를 통해 로그를 트래킹하며 에러를 예상해야 하는 과정이 힘들었습니다.
  • 해결: Nginx가 WebSocket과 SSE를 제대로 전달하지 못하는 것이 원인이었습니다. 설정 파일에 Upgrade, Connection 헤더 설정을 명시하고, 타임아웃 시간을 넉넉히 늘려주어 문제를 해결했습니다.

4. 프로젝트 후기: 기술보다 값진 '사람'에 대한 이해

🤝 협업의 경험: "신뢰가 곧 효율이다"

처음에는 깃 충돌(Conflict)이 무서워 팀원들의 푸시/풀 과정을 일일이 옆에서 확인하고 직접 머지해줬습니다. 하지만 문득 이것이 팀원을 신뢰하지 못하는 행동이라는 것을 깨달았습니다. 저 또한 과거에 충돌을 겪으며 성장했듯이, 팀원들에게도 그 과정이 필요함을 인정하기로 했습니다. 팀원들을 믿고 권한을 나눈 결과, 우리 팀 모두가 깃 사용법에 익숙해졌고 협업 속도는 더욱 빨라졌습니다.

🚀 기술적 성장

  • React & MVC: 리액트의 컴포넌트 구조와 Spring MVC 패턴의 데이터 흐름을 완벽히 체득했습니다.
  • AI 활용: 단순히 코드를 짜는 것을 넘어, Figma AI로 UI를 그리거나 API 명세 초안을 잡는 등 AI를 효율적인 조력자로 활용하는 법을 배웠습니다.
  • 코드 분석: 동료들의 코드를 리뷰하며 타인의 로직을 빠르게 분석하는 힘을 길렀습니다.

🌱 아쉬운 점과 향후 계획

현재는 수정 사항이 생길 때마다 수동으로 빌드하고 SCP로 파일을 전송하고 있습니다. 이 비효율을 줄이기 위해 차후 프로젝트에서는 GitHub Actions나 Jenkins를 활용한 CI/CD 파이프라인을 구축하여 자동 배포 환경을 만들어보고 싶습니다.


마치며: 기술적 완성도를 넘어 협업의 가치를 깨닫다

'Control Tower' 프로젝트는 단순한 코드의 집합이 아니라, 한 명의 개발자로서 제가 가진 기술적 고집과 팀원들에 대한 신뢰 사이의 균형을 배우게 해준 소중한 경험이었습니다.

처음에는 형상관리자로서 모든 것을 완벽하게 통제해야 한다는 강박에 팀원들의 코드를 일일이 확인하기도 했습니다. 하지만 그 과정을 내려놓고 팀원들을 믿기 시작했을 때, 오히려 프로젝트는 더 역동적으로 흘러갔고 예상치 못한 창의적인 해결책들이 쏟아져 나왔습니다.

또한, 처음 시도해 본 AWS 배포와 Nginx 설정 과정에서의 '삽질'은 저에게 시스템의 흐름을 이해하는 안목을 선물해 주었습니다. 눈에 보이는 화면 뒤에서 데이터가 어떻게 흐르고, 보안이 왜 중요한지를 몸소 깨달은 시간이었습니다.

이제 이 경험을 발판 삼아, 다음에는 수동 배포의 번거로움을 해결할 CI/CD 자동화에 도전해 보려 합니다. '멈춰있는 개발자'가 아닌, 어제의 문제를 오늘의 동력으로 삼는 개발자가 되겠습니다. 긴 글 읽어주셔서 감사합니다!

'Projects > Team Projects' 카테고리의 다른 글

[Control Tower]Spring Boot + AWS RDS + Nginx 배포기: 삽질하며 배운 인프라의 중요성  (0) 2026.03.07
[Control Tower] AWS S3 + CloudFront로 React 앱 정적 배포하기 (보안과 성능 최적화)  (0) 2026.03.07
[Control Tower] Spring AI로 구현한 항공사 사원 가입 자동화 (명함 OCR & 프롬프트 엔지니어링)  (0) 2026.03.07
[Control Tower] Spring AI(Gemini)로 근태 증빙서류 자동 완성(OCR) 구현하기 🚀 (Zero-Click UX 적용기)  (0) 2026.02.12
[Control Tower] 2차 개발 구현 계획(Spring Ai & OCR)  (0) 2026.02.11
'Projects/Team Projects' 카테고리의 다른 글
  • [Control Tower]Spring Boot + AWS RDS + Nginx 배포기: 삽질하며 배운 인프라의 중요성
  • [Control Tower] AWS S3 + CloudFront로 React 앱 정적 배포하기 (보안과 성능 최적화)
  • [Control Tower] Spring AI로 구현한 항공사 사원 가입 자동화 (명함 OCR & 프롬프트 엔지니어링)
  • [Control Tower] Spring AI(Gemini)로 근태 증빙서류 자동 완성(OCR) 구현하기 🚀 (Zero-Click UX 적용기)
tlsgkstj
tlsgkstj
짱구의 성장 일기
  • tlsgkstj
    코딩하는 짱구
    tlsgkstj
  • 전체
    오늘
    어제
    • 분류 전체보기 (159)
      • About (1)
      • Projects (35)
        • Personal Projects (21)
        • Team Projects (14)
      • Engineering (20)
        • CS & Tools (0)
        • Backend Core (15)
        • Frontend (1)
        • Infra & Cloud (2)
        • AI & Tools (1)
      • Trouble Shooting & Issues (0)
      • Growth & Career (38)
        • Interview Prep (0)
        • Retrospectives (38)
      • Archive (65)
        • TIL (8)
        • Daily Dev Q&A (56)
  • 블로그 메뉴

    • 홈
    • About
    • Projects
    • Tech Stack
    • Dev Log
    • GitHub
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    클로드코드
    Spring비교
    aws_s3
    프로덕트개발자
    REACT
    backend
    Project_Review
    network
    DevFestIncheon2025
    OrphanRemova
    til
    커리어리셋
    devlog
    SpringBoot
    경기기후바이브코딩
    데브페스트
    java
    jpa
    프로젝트회고
    spring
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
tlsgkstj
[Control Tower] 개발 및 운영 회고
상단으로

티스토리툴바