GaiA/CaiROS
다양한 이해관계자가 사용하는 대규모 건설 플랫폼을 오픈까지 이끈 풀스택 개발. 레거시를 공통 모듈과 디자인 패턴으로 구조화해 팀의 개발 기준을 세웠습니다.
- 기간
- 2025.04 - 2026.01
- 소속
- 아이디어정보기술
- 역할
- 풀스택 개발 · 공통 개발 · 하위 인력 관리
- 기여도
- 100%
Background
건설업계 종합 플랫폼 GaiA/CaiROS는 발주처, 시공사, 협력사 등 여러 이해관계자가 함께 쓰는 대규모 서비스로, 안정성과 유지보수성이 무엇보다 중요했습니다. 애자일 방식으로 진행되는 프로젝트에서 공통 개발 팀의 일원으로 환경 세팅부터 핵심 기능, API 설계, 레거시 개선, 배포 자동화까지 전 범위를 맡았습니다.
Key Work
- 01서비스 오픈을 위한 권한·보안·코드 검측 환경 세팅
- 02Jenkins CI/CD 파이프라인 관리와 브랜치·태그 기반 버저닝
- 03공통 모듈·인터페이스 설계 및 하위 인력에 제공
- 04퍼사드·아토믹·팩토리·싱글톤 패턴 기반 레거시 리팩토링
- 05Server-to-Server API, RESTful API 설계 및 구축
- 06착공계 문서 관리 핵심 기능 합동 개발, Ubi-Report 리포팅 자동화
Problem & Solution
Problem 01
주니어 개발자들이 복잡한 레거시 코드를 충분히 분석하지 않고 그대로 복사해 재사용하면서 비효율적인 구조가 계속 재생산되었고, 코드 검측률 저하와 일정 지연으로 이어졌습니다.
Solution
정형화된 아키텍처와 코드 구조를 설계해 팀 내 개발 기준을 세우고, 레거시를 컴포넌트·인터페이스 단위로 모듈화해 공통으로 제공했습니다. 팀원 모두가 같은 규칙과 흐름 안에서 개발하도록 만들었습니다.
Problem 02
반대로 일부 구성원은 기존 레이어를 무시하고 개인 스타일로 개발해, 복잡한 건설 도메인이 표준 없이 구현되면서 인수인계와 유지보수 부담이 급격히 커졌습니다.
Solution
개발자마다 따로 만들던 로직을 하나의 공통 모듈로 통합하고, 응답 처리·에러 핸들링 같은 관심사를 분리해 일관된 방식으로 수행하도록 했습니다. 퍼사드, 아토믹, 팩토리, 싱글톤 패턴을 상황에 맞게 적용해 모듈 간 의존성을 낮췄습니다.
Problem 03
착공계 문서 관리는 문서 승인 흐름, 상태 관리, 리포팅 등 세부 요구사항이 많은 플랫폼의 핵심 기능이었고, 다른 모듈과 데이터를 주고받아야 했습니다.
Solution
건설 도메인을 빠르게 학습해 승인 흐름과 상태 관리를 서비스 로직에 반영하고, Server-to-Server 통신과 RESTful API를 직접 설계해 모듈 간 데이터를 교환했습니다. Ubi-Report로 리포팅을 자동화했습니다.
Results
- ✓착공계 문서 관리 등 핵심 기능을 성공적으로 개발하고 서비스 오픈에 기여
- ✓공통 모듈과 표준 구조 제공으로 복잡했던 레거시의 유지보수 효율 향상
- ✓권한·보안·코드 검측 등 서비스 오픈 환경 세팅, Jenkins CI/CD 파이프라인으로 배포 자동화
- ✓하위 인력 5인 대상 코드 리뷰·교육·도메인 설명으로 팀 생산성과 코드 품질 향상
Learnings
- →협업에서 가장 중요한 것은 개인의 능력보다 팀의 일관성이라는 점
- →문제의 원인을 코드 자체가 아니라 프로세스, 구조, 기준의 부재에서 찾고 해결하는 시각
- →브랜치·태그 기반 버저닝과 배포 파이프라인 운영 경험