프로젝트 배경
1) 예상 리스크 및 대응 계획 - 비동기 중복 예약 방지: asyncpg의 SELECT FOR UPDATE가 FastAPI async 컨텍스트에서 데드락 없이 작동하도록 세션 생명주기를 관리하는 설계 적용 - SSE 연결 재접속 처리: 브라우저 탭 전환 시 SSE 스트림이 끊기는 문제를 EventSource 자동 재연결 + Last-Event-ID 이어받기로 해결하는 구조 설계 - dnd-kit 큐와
프로젝트 성과
FastAPI 비동기 슬롯 예약 엔진 설계
asyncpg SELECT FOR UPDATE와 SQLAlchemy 비동기 세션을 결합해 동시 예약 충돌을 DB 레벨에서 차단하는 예약 트랜잭션 엔진을 구현합니다.
SSE 기반 경량 실시간 알림 구현
WebSocket 없이 FastAPI StreamingResponse SSE로 예약·취소·승인 이벤트를 환자·의사 양측에 실시간 푸시하는 알림 구조를 설계합니다.
dnd-kit 진료 큐 순서 조정 UI 구현
dnd-kit 드래그 앤 드롭으로 의사가 진료 순서를 직접 조정하고 FastAPI PATCH API로 순서를 즉시 저장하는 큐 관리 인터페이스를 구현합니다.
시간대별 예약 밀도 히트맵 설계
SQLAlchemy date_trunc 집계 쿼리와 Recharts ComposedChart를 결합해 진료과별·시간대별 예약 밀도를 시각화하는 통계 뷰를 구현합니다.
PostgreSQL JSONB 스케줄 템플릿 구조 구축
의료진별 요일 반복 운영 시간을 JSONB 컬럼에 저장하고 런타임에 슬롯으로 변환하는 템플릿 재사용 구조를 설계합니다.
핵심 기능
진행 단계
진료 슬롯 데이터 모델 및 FastAPI 기반 구축
2026.04
의료진·환자·예약 스키마를 설계하고 FastAPI 비동기 라우터, SQLAlchemy 세션 팩토리를 구축합니다.
프로젝트 상세
1) 포트폴리오 소개 의원·클리닉을 대상으로 의료진별 진료 시간 슬롯을 자동 생성하고 환자가 직접 예약·변경·취소할 수 있는 양방향 스케줄 관리 시스템입니다. B2B 매칭 플랫폼의 핵심 기술인 시간 슬롯 예약·승인·거절 워크플로우를 의료 도메인에 적용하며, Python FastAPI 비동기 백엔드와 SSE 실시간 알림으로 진료실 운영 현황을 실시간 제공합니다. 2) 작업 범위 - 의료진 스케줄 설정







