Enterprise SaaS

사내 그룹웨어 플랫폼

MSA 기반 SaaS 그룹웨어 설계부터 배포까지

기간
2025.03 — 진행 중
규모
3명
역할
기획 · 아키텍처 · 풀스택 · DevOps

조직 내 협업과 업무 관리를 하나의 경험으로 연결하는 MSA 기반 그룹웨어 SaaS입니다. 현업의 인사 정책을 비즈니스 로직으로 정제하고, 필요한 솔루션의 공백에는 직접 MVP를 구축하며 구조 설계부터 배포까지 전 과정을 주도했습니다.

34%개발 환경 메모리 절감
사내 그룹웨어 플랫폼 대표 이미지
01 · Context

확장 가능한 그룹웨어를 처음부터 설계하다

메일, 게시판, 전자결재, 캘린더, 근태 등 서로 다른 업무 도메인을 하나의 플랫폼 안에서 일관되게 제공해야 했습니다.

기업별 데이터와 권한이 분리되는 멀티 테넌시 구조를 기반으로, 개발자에게는 찾기 쉬운 코드 구조를, 사용자에게는 학습이 적은 인터페이스를 목표로 삼았습니다.

  • 기획·설계·개발 전반 총괄
  • Next.js App Router의 URL·폴더·메뉴 구조 1:1 정렬
  • React Native 모바일 앱 0→1 구축
그룹웨어 초기 화면 레이아웃
초기 홈 대시보드 화면 기획
02 · Problem 01

이론적으로 좋은 분리가 현실에서는 과부하가 되었다

낮은 결합도를 목표로 11개의 마이크로서비스를 구성했지만 개발 환경에서 OutOfMemory와 CPU 사용량 급증이 발생했습니다.

자원 모니터링과 로그 분석 결과, 서비스마다 생성되는 Node 인스턴스와 DB 커넥션 풀이 제한된 개발 환경의 자원을 과도하게 사용하고 있었습니다.

  • 유사 도메인 통합과 서비스 경계 재정의
  • 중복 모듈 및 커넥션 구조 리팩터링
  • 메모리 사용량 100% → 66% 절감, 응답 지연 해소
그룹웨어 MSA 아키텍처
리소스 최적화 이후 서비스 아키텍처
03 · Problem 02

메인 요청과 후처리 이벤트의 생명주기를 분리하다

알림과 메일 후처리가 메인 트랜잭션에 묶여 외부 연동 지연이나 실패가 핵심 기능의 오류로 전파됐습니다.

Kafka와 RabbitMQ를 비교한 뒤 대규모 스트리밍보다 이벤트 라우팅이 중요한 프로젝트 특성에 맞춰 RabbitMQ를 선택했습니다.

  • 이벤트 발행 모듈과 처리 모듈 분리
  • 메인 API를 막지 않는 비동기 후처리
  • 팀 공통 이벤트 발행 규칙과 재사용 구조 정립
04 · Domain

인사 담당자의 업무 언어를 근태·연차 로직으로 정제하다

근태와 연차 업무에는 반차, 연차 차감 기준, 근태 인정 범위처럼 문서만으로 파악하기 어려운 예외 규칙이 많았습니다.

인사 담당자의 피드백과 실제 업무 흐름을 바탕으로 정책을 정리하고, AI 도구를 보조적으로 활용해 누락된 조건과 예외 사례를 검토했습니다. 정제된 규칙은 근태·연차 자동화 로직과 REST API의 기준으로 반영했습니다.

  • 인사 담당자 피드백 기반 요구사항 분석
  • 반차·연차 차감·근태 인정 범위의 예외 조건 정리
  • 정책을 비즈니스 로직과 REST API로 구현
  • 수기 확인이 필요했던 반복 업무 축소
05 · 0 to 1

외부 솔루션의 공백을 3일 메신저 MVP로 대응하다

외부 메신저 솔루션을 도입하기 어려워지면서 사내 실시간 소통 기능을 별도로 마련해야 하는 상황이 발생했습니다.

필수 기능의 범위를 먼저 정의하고 Node.js와 WebSocket을 활용해 설계부터 구현까지 단독으로 진행했습니다. 3일 안에 사용할 수 있는 MVP를 구축해 업무 공백을 줄이고, 이후 알림과 메시징 기능을 확장할 수 있는 기반을 마련했습니다.

  • 핵심 기능 중심의 MVP 범위 설정
  • Node.js·WebSocket 기반 실시간 통신 구현
  • 설계부터 개발까지 3일 내 단독 구축
  • 알림·메시징 기능의 확장 기반 마련
06 · Process

AI를 쓰는 팀의 코드 정합성을 문서로 지키다

AI 도구 활용이 늘면서 팀원마다 다른 코드 패턴과 중복 함수·컴포넌트가 생성되기 시작했습니다.

폴더 구조, 컴포넌트 재사용 기준, API 호출 패턴과 커밋 규칙을 Markdown 가이드로 명문화해 AI가 읽는 컨텍스트까지 팀의 개발 규칙으로 만들었습니다.

  • 코드 작성 패턴 일관성 확보
  • 불필요한 중복 생성 억제
  • 리팩터링과 리뷰 공수 단축
Outcome

결과로 남은 것

34%개발 환경 메모리 절감
3일메신저 MVP 단독 구축
0→1기획부터 배포까지 주도
Next.jsNestJSTypeORMMariaDBRabbitMQKubernetesJenkins
Next project

Poo Diary