Beyond SW Camp 16기 최종프로젝트 회고

kishinoa·2025년 11월 23일

Beyond SW Camp

목록 보기
19/19

H.ONE

1. 개요

H.ONE은 클라우드(SaaS) 기반의 통합 HR-협업 플랫폼으로, 모든 규모의 기업이 인사 관리와 협업을 한 곳에서 해결할 수 있도록 돕습니다.

2. 프로젝트 추진 배경 및 목적

기존 시장의 문제점:

  • HR과 협업 도구의 분리: 인사 정보(휴가, 조직도)와 업무(결재, 화상회의) 시스템의 이중 관리 및 단절된 사용자 경험.
  • 파편화된 HR 기능: 급여, 평가, 근태 기능이 별개 시스템으로 분리되어 데이터 연동 및 관리에 어려움.
  • 높은 도입 장벽: 구축형(On-premise) 솔루션 위주로 중소기업(SME)의 접근성 저해.

H.ONE의 목표 (해결책):

  • HR과 협업의 유기적 결합: 조직도, 근태/휴가 정보가 결재, 급여 등과 실시간 연동되는 원스톱(One-stop) 업무 환경 제공.
  • 클라우드(SaaS) 기반 서비스: 낮은 비용으로 즉시 도입 가능한 구독형 서비스 제공.
  • 직관적 UI/UX: 복잡하고 딱딱한 기존 솔루션에서 벗어나 현대적이고 매력적인 사용자 경험 제공.

3. 주요 기능 및 기술적 성과

3-1. 핵심 기능 구현

분류주요 기능 예시
핵심 HR근태 관리 (웹앱 기반 GPS 출퇴근 기록), 조직 관리 (시각화된 조직도), 직원 및 급여 관리
협업/관리전자결재 (HR 정보 연동 워크플로우), 성과 관리 (본인/상사/동료 평가), 화상회의 (예약 및 AI 요약/전사문 기능), 자원 예약
기타통합 검색 (직원, 조직도), 역할(Role) 기반의 세분화된 권한 관리

3-2. 기술적 도전 및 아키텍처

  • MSA 도입: 대규모 시스템 구축을 위한 마이크로서비스 아키텍처 채택 및 서비스 분리 (Member, Workforce, Search, Workspace 등).
  • 멀티테넌시(Multi-tenancy) 구현: SaaS 서비스의 핵심인 테넌트(고객사)별 데이터 격리를 위해 로그인 시 발급되는 JWT 토큰에 Tenant ID를 포함하여 요청을 처리하는 구조 구현.
  • 공통 모듈 관리: 여러 마이크로서비스 간 중복되는 로직(예: 예외 처리, S3 파일 업로드 등)을 Shared Library로 분리하여 코드 중복을 최소화하고 유지보수성 향상.

4. 프로젝트 후기 및 배운 점

1. 기술적 성장 : 비동기 통신 아키텍처 구축 및 Kafka 활용 심화
마이크로서비스 아키텍처(MSA) 환경을 구축하면서 서비스 간의 결합도를 낮추고 데이터 일관성을 확보하기 위해 Kafka 기반의 메시지 큐 시스템을 적극적으로 도입했습니다.
단순한 사용자 알림 기능 구현을 넘어, 복잡한 비즈니스 로직에 필요한 서비스 간 데이터 이벤트 발행 및 구독(Publish-Subscribe) 메커니즘을 직접 설계하고 적용했습니다. 이 경험을 통해 분산 시스템에서의 메시지 브로커 활용 능력을 효과적으로 체득할 수 있었습니다.
정리 링크

2. 협업 및 소통의 중요성 : 고품질 공통 모듈 개발을 위한 표준화 및 협의
여러 마이크로서비스에서 재사용되는 공통 모듈(Shared Library)을 개발하는 과정에서, 팀원 간의 기능 정의, 인터페이스 설계, 그리고 개발 표준에 대한 정기적인 소통과 명확한 협의의 중요성을 절감했습니다.
이는 코드의 일관성을 유지하고, 불필요한 의존성을 줄이며, 궁극적으로 시스템 전체의 유지보수성(Maintainability)을 높이는 핵심 동력이 되었음을 깨달았습니다.

3. 문제 해결 능력 강화 : 운영 환경 트러블슈팅 역량 확보
Kubernetes 기반의 MSA 배포 환경을 구축하는 과정에서, 로컬 개발 환경과의 차이로 인해 발생하는 다양한 운영상(Operational) 오류에 끊임없이 직면했습니다.
이 과정에서 Aggregated Log (통합 로그) 시스템을 활용하여 에러의 원인을 정확하게 분석하고, 배포 설정(Configuration) 및 환경 변수(Environment Variable)의 문제를 신속하게 해결하는 과정을 반복했습니다. 이는 실질적인 디버깅 및 트러블슈팅 역량을 크게 향상시키는 귀중한 경험이었습니다.

5. 결과물 (Results)

Backend GitHub
Frontend GitHub

profile
안녕하세요

0개의 댓글