← 포트폴리오 🌐 사내 웹 서비스 · 플랫폼
PERFORMANCE SYSTEM · FULL-STACK

성과평가 시스템 — PocketBase 풀스택 + 자동배포

전직원이 사용하는 사내 성과평가 웹 서비스. 별도 서버 PC에 PocketBase를 띄워 백엔드·DB·화면을 한 번에 서빙하고, 개발자 PC의 커밋 한 번이 스케줄러를 통해 서버에 자동 배포되는 파이프라인을 구축했습니다.

⚛️ React 19 + TypeScript 🗄️ PocketBase 🔀 GitHub 배포 파이프라인 🎭 Playwright E2E ⚠️ 사내망 서버 앱 · 웹 URL 공개 불가 (구조 소개)

기술 스택

가벼운 단일 실행파일 백엔드(PocketBase)로 서버 PC 한 대에서 전 계층을 운영합니다.

FRONTEND
React 19 · TypeScript
React Router · date-fns
BACKEND · DB
PocketBase
SQLite 내장 · 단일 실행파일 · 정적 서빙
인증
PocketBase Auth
사번 로그인 · 권한 등급 분리
테스트
Playwright
E2E 자동화 테스트
통합
shared-integration
HR 시스템 공유 연동 패키지
배포
사내 서버 PC
사내 서버 · pb_public 서빙

자동배포 파이프라인

개발자 PC에서 커밋·푸시만 하면, 서버 PC의 작업 스케줄러가 감지해 자동으로 배포합니다. 서버 수동 작업 0.

💻

개발자 PC

  1. 코드 수정
  2. npm run build
  3. Commit + Push
→
push
🔀

GitHub

  1. 새 커밋 등록
  2. 빌드 산출물 포함
  3. 단일 진실 소스
→
스케줄러 감지
🖥️

서버 PC (자동)

  1. 커밋 주기적 감지
  2. git pull 자동 실행
  3. build/ → pb_public 복사
  4. 사내 서버에 자동 반영

무중단 운영 자동화

배포뿐 아니라 서버 상시 가동과 백업까지 스케줄러로 자동화했습니다.

🔁

커밋 감지 자동배포

Windows 작업 스케줄러가 새 커밋을 감지해 pull·복사·반영을 무인 처리.

⚡

재부팅 자동 실행

서버 PC가 재부팅돼도 PocketBase가 자동으로 다시 기동.

💾

스케줄러 백업

pb_data(SQLite)를 주기적으로 백업해 데이터 유실에 대비.

🧪

E2E 테스트

Playwright로 주요 사용자 흐름을 자동 검증 후 배포.

권한 · 데이터 보호

인사 데이터를 다루므로 권한을 등급으로 분리하고 본인 데이터만 노출합니다.

관리자 (HR팀) · 전체 데이터 조회·수정
일반 (전직원) · 본인 평가 데이터만
사번 로그인 · PocketBase 인증
사내망 한정 · 외부 노출 차단