프로젝트 배경
1) 문제점 - 공간 유형(스튜디오/공유오피스/연습실)마다 예약 단위와 가격 정책이 달라 단일 예약 생성 폼으로 처리하기 어려웠던 문제 — SQLAlchemy 다형성 모델과 React 조건부 렌더링 폼 필드 분기로 해결 - 주간 타임라인 그리드에서 30분 단위 슬롯이 600개 이상 렌더링될 때 스크롤 지연 발생 — CSS Grid 가상화 없이 grid-template-rows를 repeat로 선언하고 예약
프로젝트 성과
시간대 겹침 검증 알고리즘 구현
PostgreSQL daterange 겹침 연산자(&&)를 활용한 서버사이드 충돌 검증 쿼리 설계, 충돌 감지 시 가용 시간대 28개 슬롯 중 대안 3개를 자동 제안하는 로직 구현
주간 타임라인 그리드 UI 설계
CSS Grid 8열(시간축+7일) 구조에서 예약 블록을 grid-row span으로 시간대 길이를 시각화, 480px Drawer 슬라이드 패널로 페이지 이동 없는 예약 CRUD 워크플로우 구현
공유공간 다형성 SQLAlchemy 모델 설계
스튜디오·공유오피스·연습실 공간 유형별 속성을 단일 테이블 상속(STI) 패턴으로 모델링, Pydantic v2 discriminated union으로 FastAPI 요청/응답 스키마 6종 타입 안전하게 분기
고객 CRM 무한 스크롤 목록 구축
IntersectionObserver로 뷰포트 진입 감지 후 페이지 단위 데이터 로딩, 등급·방문횟수·최근방문 3개 필터 조합을 FastAPI 쿼리 파라미터로 전달하는 12개 컴포넌트 재사용 구조 적용
리뷰 감정 키워드 자동 분류 적용
한국어 긍정/부정/중립 키워드 사전 기반 정규식 매칭으로 리뷰 카드에 감정 태그 자동 부착, Chart.js Doughnut centerText 플러그인으로 별점 1~5점 분포와 평균 동시 시각화
핵심 기능
진행 단계
공유공간 도메인 모델링 및 FastAPI 프로젝트 세팅
2025.06.
스튜디오·공유오피스·연습실 공간 유형별 속성 차이를 SQLAlchemy 다형성 모델로 설계, FastAPI 라우터·의존성 주입·Pydantic 스키마 레이어 구조 수립
프로젝트 상세
1) 포트폴리오 소개 촬영 스튜디오·공유 오피스·연습실 등 공유공간의 시간대별 예약·고객·정산을 통합 관리하는 SaaS형 플랫폼을 Python + FastAPI + PostgreSQL 기반으로 설계·구현했습니다. 공간별 시간대 예약 캘린더, 고객 CRM, 리뷰/피드백 관리, 월별 정산 리포트를 포함한 5개 핵심 모듈을 히어로 배너 기반 모던 UI로 구축했습니다. 2) 작업 범위 - 홈 대시보드: 히어







