본문으로 건너뛰기
개인FastAPI + SQLite · React dashboard · 다중 source adapters · durable outbox

임상병리사 채용 의사결정 대시보드

가족 사용자 요구 기반 제품 설계·FE/BE·운영

2026-07-01 — present

채용 플랫폼과 병원 채용 페이지 원천을 정규화해 탐색하고, 마감·지역·고용형태 추천 이유와 계정별 지원 상태를 함께 관리하는 모바일 우선 대시보드

시스템 아키텍처

임상병리사 채용 의사결정 대시보드 architecture diagram

문제 해결 과정

1

채용 원천마다 마감·지역·고용형태 표현이 달라 비교와 우선순위 판단이 어려움

해결 과정

source adapter에서 ingestion 시점에 필드를 정규화하고 수집 원문 링크·freshness·open 상태를 read model에 저장

결과

한 화면에서 마감·지역·고용형태 필터와 추천 이유 제공

2

알림 worker 중복 실행이나 일시 실패가 중복 발송 또는 공고 누락으로 이어질 수 있음

해결 과정

dedupe key outbox, 원자적 lease, 제한 재시도, 전달 확인 후 watermark 전진을 분리 구현

결과

전달 성공 전 공고 stream을 완료 처리하지 않는 명시적 상태 계약

합성 시나리오

실제 운영·개인 데이터 없이 코드의 상태 전이와 경계만 고정 fixture로 재현합니다.

전달 확인 후 watermark 전진
전달 확인 후 watermark 전진합성 알림 흐름에서 dedupe·lease·성공 확인을 분리해 동시 worker와 일시 실패를 명시적으로 처리합니다.

프로젝트 설명

채용 플랫폼과 병원 채용 페이지를 adapter로 수집해 공고 ID·마감·지역·고용형태를 하나의 read model로 정규화합니다. 공개 탐색과 로그인 후 관심·지원·면접·결과 상태를 분리하고, 알림은 dedupe key·원자적 lease·전달 성공 확인 후 watermark 전진으로 중복 실행과 일시 실패를 다룹니다. 공개 사례에는 실제 지원 기록·가족 데이터·운영 URL·알림 대상을 포함하지 않습니다.

주요 내용

  • 다중 채용 플랫폼·병원 원천 adapter와 정규화 read model
  • 수집 원문 링크·마감·지역·고용형태 기반 설명 가능한 추천
  • 관심·지원·면접·결과의 계정별 tracker
  • dedupe·lease·delivery confirmation 기반 durable outbox

기술 선택 근거

  • source별 deadline text를 ingestion에서 한 번 정규화해 조회·필터의 의미를 통일
  • public discovery와 account-scoped application state를 분리
  • outbox 완료와 watermark 전진을 delivery confirmation 뒤로 묶어 누락 경계를 명시

깨달은 점

  • 가족용 제품은 자동화보다 수집 원문 링크와 판단 이유를 먼저 보여줘야 신뢰를 얻는다.
  • 알림 신뢰성은 재시도 횟수보다 완료 조건과 watermark 경계를 명시하는 데서 시작한다.

기술 스택

PythonFastAPISQLiteReactTypeScriptPlaywrightDurable Outbox