← 프로젝트
시스템 설계·구현운영중요약 공개

영업 정보 포털 제작기

흩어져 있던 위촉·지원금·규정·문서양식·일정 안내를 하나의 영업 정보 포털로 모았습니다. 사내 앱과 PC 웹에서 바로 들어오고, 직급에 따라 볼 수 있는 메뉴가 다르며, 관리자가 코드 수정 없이 콘텐츠를 고칩니다.

기간
2025-11 – 진행중
역할
기획 · 설계 · 구현 · 운영 (1인)
조직·맥락
보험 GA · 영업지원
사용자
임직원 · 설계사 · 영업관리자
Problem

위촉 절차, 보증 업무, 지원금 기준, 문서 양식이 여러 앱과 문서함, 링크에 나뉘어 있어 필요한 정보를 한 번에 찾기 어려웠습니다. 안내가 바뀔 때마다 담당자가 여러 곳을 고쳐야 했습니다.

성과

문서 양식 내려받기
외부 드라이브 공유 링크비공개 저장소 + 인증 다운로드
서버 코드 크기
약 3.4 MiB (무료 한도 초과)약 2.3 MiB
API 33개를 22개로 통합
콘텐츠 수정
코드 수정 후 배포관리자 화면에서 바로
문서·FAQ·일정·담당자·영상·권한
개발 기록
—커밋 547건
2025-11 ~ 2026-10
영업 정보 포털 제작기 한눈에 보기

배경과 문제

영업 조직이 자주 찾는 정보는 많고 자주 바뀝니다. 위촉 절차와 일정, 재정보증, 입사 지원금 기준, 교육 과정, 각종 규정과 신청 양식입니다.

처음에는 이 정보를 각각 따로 만든 작은 안내 앱(지원금 안내, 위촉 일정 안내, 교육 과정 안내)과 공유 드라이브 링크, 공개 스프레드시트로 제공했습니다. 그러다 보니 불편이 쌓였습니다.

  • 찾기 어려웠습니다. 정보가 앱마다, 링크마다 나뉘어 있어 어디를 봐야 하는지부터 물어봐야 했습니다.
  • 고치기 어려웠습니다. 기준이 바뀌면 여러 곳을 따로 고쳐야 했고, 대부분 코드를 고쳐 다시 배포해야 했습니다.
  • 누가 봐도 되는지 구분하기 어려웠습니다. 직급에 따라 봐야 할 정보가 다른데, 공개 링크로는 막을 방법이 없었습니다.

목표

  • 영업에 필요한 안내를 한 곳에서 찾게 한다.
  • 이미 쓰는 사내 앱과 PC 웹에서 바로 들어오게 한다. 새로 가입하거나 로그인하지 않는다.
  • 직급별로 볼 수 있는 메뉴를 다르게 한다.
  • 담당자가 코드 없이 콘텐츠를 고칠 수 있게 한다.

만든 과정

1. 흩어진 앱을 하나로 묶다 (2025년 11~12월) 따로 만든 안내 앱 세 개를 한 저장소에 모아 하나의 포털로 시작했습니다. 첫 두 달은 위촉 일정 달력 표시를 여러 번 다듬고, 가이드북 메뉴를 다시 짜고, 모바일에서 보기 좋은 두 줄 배치로 바꾸고, 담당자 안내와 재정보증 메뉴를 더했습니다.

2. 메뉴를 넓히고 배포 기반을 옮기다 (2026년 1월) 교육 과정과 규정 메뉴, 시책, 문서 원문 보기(PDF 뷰어)를 더했습니다. 배포는 처음의 정적 호스팅에서 Cloudflare로 옮기고, 서버 기능을 모두 엣지(Edge)에서 돌도록 바꿨습니다. 이 달에만 커밋이 81건이었습니다.

3. 사내 앱과 연결하다 (2026년 2월) 로그인 화면을 만들고 사내 모바일 앱과의 연동을 시험한 뒤, 앱의 바로가기를 눌러 들어오면 별도 로그인 없이 사용자와 직급을 받아오는 SSO를 붙였습니다. 앱 안의 웹 화면에서 상단 노치에 화면이 가리는 문제도 이때 맞췄습니다.

4. 문서를 안전하게 옮기다 (2026년 3월) 가장 바빴던 달입니다(커밋 131건). 공유 드라이브 링크로 내려받게 하던 문서 양식을 모두 클라우드 저장소(R2)로 옮겼습니다. 아이폰에서 내려받기가 안 되는 문제를 포함해 다운로드 오류를 며칠에 걸쳐 고쳤고, 첫 화면과 디자인도 정비했습니다.

5. PC 웹을 열고 화면을 나누다 (2026년 4월) 사내 PC 웹에도 바로가기를 열었습니다. PC 화면을 고정형으로 만들고 통합 검색창을 넣었습니다. 이때 중요한 결정을 했습니다. 화면 폭에 따라 바뀌는 반응형이 아니라, 들어온 경로에 따라 PC용과 모바일용 화면을 완전히 따로 만들었습니다(아래 "디자인 결정"). 디자인 체계를 세 단계로 정리하고, 관리자 화면과 권한·문서 관리 방식을 다시 짰습니다.

6. 보안을 다지다 (2026년 5월) 여러 사람이 쓰는 서비스가 되면서 보안을 다시 봤습니다. 사용자 권한 정보를 서명된 토큰으로 바꾸고, 문서 저장소의 공개 접근을 닫은 뒤 인증을 거쳐서만 내려받게 했습니다. 프로젝트 지침 파일을 만들어 개발 규칙을 한 곳에 정리한 것도 이때입니다.

7. 콘텐츠를 담당자 손에 넘기다 (2026년 5~8월) 담당자 안내, 영상, 새 소식 표시, 메뉴 하위 항목별 권한까지 관리자 화면에서 고치도록 옮겼습니다. 제도가 개정될 때는 메뉴에 "개정중" 상태를 두고 옛 원문 보기를 막아, 바뀌는 중인 기준이 안내되지 않게 했습니다. 하반기 행사 페이지와 첫 화면 소식 슬라이드도 더했습니다.

8. 다음을 준비하다 (2026년 9월~) 구제도 페이지를 정리하고 PC 첫 화면 깜빡임을 고친 뒤, 전체 코드를 점검하고 리뉴얼 계획을 세웠습니다.

지금 할 수 있는 것

구분내용
위촉위촉 절차 안내, 위촉일 조회, 일정 달력
지원금·보증입사 지원금 기준, 재정보증, 지급액 계산기와 시뮬레이션
교육·규정교육 과정, 제규정 원문 보기
자료문서 양식 내려받기, 사내 앱 사용법, 영상
영업시책, 영업 일정표, 연도 평가와 시상, 행사
도구내용증명 작성기(입력하면 PDF 미리보기)
기타통합 검색, 담당자 안내, FAQ
관리자문서·폴더, FAQ, 일정, 담당자, 영상, 계산기, 문구, 직급별 권한

검색은 빌드할 때 전체 콘텐츠로 색인을 만들고, 결과를 누르면 해당 항목이 펼쳐진 상태로 열립니다.

구조

사내 모바일 앱 ─┐
                ├─ 바로가기 → 사용자·직급 확인 → 서명된 로그인 쿠키
사내 PC 웹 ─────┘                    │
                                      ▼
                      영업 정보 포털 (Cloudflare, 모든 서버 기능이 엣지에서)
                       ├─ 직급별 메뉴 규칙 (관리자가 수정)
                       ├─ 콘텐츠 (화면 + 관리자가 고치는 데이터)
                       └─ 문서 파일 → 비공개 저장소 → 인증 거쳐 내려받기

관리자와 담당자는 별도 계정으로 로그인해 관리 화면에 들어갑니다.

겪은 문제와 해결

증상원인해결
배포가 무료 한도에 걸려 실패서버 코드가 약 3.4 MiB로 한도(3 MiB) 초과API 33개를 22개로 합쳐 약 2.3 MiB
앱에서 바로가기가 막힘앱 안 웹 화면이 보내는 요청 출처 값이 일반 브라우저와 달라 보안 검사에 걸림앱에서 오는 경우를 구분해 허용
앱에서 문서 내려받기 실패저장소 공개를 닫은 뒤, 아이폰·안드로이드가 다운로드를 외부 앱에 넘기며 로그인 정보가 전달되지 않음파일마다 5분짜리 서명 주소 발급
엣지 배포 실패한 기능이 엣지에서 쓸 수 없는 파일 시스템 기능을 사용해당 처리를 브라우저 쪽으로 옮김
PDF 원문 보기가 안 열림뷰어 보조 파일이 로그인 검사에 걸리고, 한글 파일 이름 정적 파일이 404보조 파일은 검사 예외, 파일 이름은 영문으로
사내 PC 보안 프로그램이 파일을 격리담당자 명단이 소스 코드에 그대로 들어 있었음명단을 저장소로 옮기고 관리자 화면에서 관리
PC 첫 화면 깜빡임기기 판별 전에 화면을 먼저 그림판별이 끝난 뒤에 그리기

여섯 번째는 콘텐츠를 코드 안에 직접 넣어 둘 때의 위험을 보여 줬습니다. 수정이 어려운 것만이 아니라, 그 안의 개인정보가 예상하지 못한 곳(보안 프로그램)에서 문제를 일으켰습니다. 그래서 담당자 정보를 코드에서 빼 관리 데이터로 옮겼습니다.

디자인 결정: 화면 폭이 아니라 들어온 경로로

보통은 화면 폭에 따라 배치가 바뀌는 반응형으로 만듭니다. 이 포털은 다르게 했습니다.

  • 휴대폰 앱에서는 세로 화면만 쓰기로 했습니다. 가로 모드는 원하지 않았습니다.
  • PC에서 창을 좁혔다고 모바일 화면으로 바뀌면 오히려 헷갈립니다.
  • 그래서 앱에서 들어오면 모바일 화면, PC 웹에서 들어오면 PC 화면으로 정하고, 두 화면을 완전히 따로 만들었습니다.

대신 같은 내용을 두 벌 관리해야 하는 비용이 생겼습니다. 이 비용은 다음 리뉴얼에서 콘텐츠를 블록 단위 데이터로 옮겨 줄이려고 합니다. 알림 창은 브라우저 기본 경고창 대신 화면 아래에 잠깐 뜨는 안내로 통일했습니다.

AI와 함께 만든 방식

구현은 Claude Code, 점검은 Codex, 페이지 디자인은 Google Stitch로 역할을 나눴습니다.

  • 커밋에 "문제 → 해결 → 영향"을 남겼습니다. AI와 함께 만든 커밋 58건이 이 형식이라, 반년이 지나도 왜 바꿨는지 찾을 수 있습니다.
  • 지침 파일 하나에 규칙을 모았습니다. 들어오는 경로, 권한 규칙, 저장 방식, 배포 절차를 적어 두고 AI가 매번 그것을 기준으로 일하게 했습니다.
  • 코드 점검은 여러 에이전트로 나눠 진행하고, 코드와 대조하거나 직접 재현해 확인된 것만 계획에 넣었습니다. 사실이 아닌 지적은 따로 "기각" 목록에 남겼습니다.
  • Codex로 한 번 더 점검했습니다. 전체 코드, 오류·에러가 날 수 있는 곳, 로그인과 권한·문서 다운로드 보안, 그리고 PC·모바일 두 벌 화면의 레이아웃과 디자인을 Codex가 따로 확인했습니다. 화면을 두 벌로 만든 만큼 한쪽만 고치고 다른 쪽을 빠뜨리는 일이 생기기 쉬워, 두 화면을 맞대어 보는 점검이 특히 필요했습니다.
  • 페이지 디자인은 Google Stitch로 따로 만들었습니다. 메뉴별 PC·모바일 화면 시안을 Stitch에서 만들고 코드를 받은 뒤, 그대로 붙이지 않고 기존 컴포넌트와 디자인 체계, 들어온 경로별 화면 구조에 맞게 고쳐 넣었습니다.
  • 콘텐츠를 문서로 뽑을 때는 "요약하지 말 것, 지어내지 말 것"을 작업 지침으로 주고 화면의 내용을 그대로 옮기게 했습니다.

지금 상태와 다음

  • 사내 앱과 PC 웹에서 운영 중이며, 행사·제도 개정에 맞춰 콘텐츠를 계속 고치고 있습니다.
  • 전체 코드 점검에서 보안과 구조 정리 과제를 뽑아 두었고, 리뉴얼 계획을 세웠습니다. 사용자·게시판·신청 접수를 담을 데이터베이스를 더하고, 로그인을 서버 세션 방식으로 바꾸고, 콘텐츠를 블록 단위로 관리하는 방향입니다. 아직 구현 전입니다.

회고

  • 가장 효과가 컸던 것은 콘텐츠를 담당자 손으로 넘긴 것이었습니다. 개발자를 거치지 않고 바로 고칠 수 있어야 정보가 최신으로 유지됩니다.
  • 한 사람이 빠르게 만들다 보니 PC·모바일 이중 화면, 테스트 부재 같은 부채도 쌓였습니다. 점검을 통해 이를 숫자로 확인한 것이 리뉴얼 계획의 출발점이 됐습니다.
  • 작은 앱 세 개에서 시작했지만, "어디서 들어오고, 누가 무엇을 보고, 누가 고치는가"를 먼저 정한 것이 포털로 커지는 동안 구조를 지켜 줬습니다.