Saju - 사주 분석 웹/모바일 서비스
Ruby on Rails 8Hotwire (Turbo + Stimulus)Turbo Native (iOS/Android)Tailwind CSSSQLite / PostgreSQLKamalFirebase AnalyticsSentry
링크
스크린샷
사주 분석 서비스 사주 풀이 화면1
프로젝트 개요
Saju는 양력/음력 생년월일시를 기반으로 사주 명식, 오행 분석, 대운/세운/월운, 합충형해파원진, 공망, 신살 등을 자동 계산해 제공하는 서비스입니다. 웹과 모바일 앱(Turbo Native)을 함께 지원하며, 결과를 시드(seed) 기반 URL로 공유할 수 있습니다.
담당 역할
풀스택 개발 (도메인 로직 설계 → Rails 백엔드 구현 → Hotwire 프론트엔드 → Turbo Native 앱 연동 → 배포/운영)
주요 기능
- 사주 입력 폼(성별, 양력/음력, 윤달, 출생시 미상 옵션) 및 유효성 검증
- 음력→양력 변환과 절기 기준 연/월주 계산을 포함한 사주 명식 자동 산출
- 오행 분포 시각화(막대/도형)와 일간 기반 성향·관계·추천 해석 제공
- 대운(10년 단위) 계산 및 세운/월운 흐름 분석 카드 제공
- 천간합/충, 지지 육합·삼합·방합·충·형·파·해·원진 등 관계 분석
- 공망/12신살/귀인 등 부가 해석 지표 자동 계산
- 결과를 시드 인코딩 URL로 재현·공유 (DB 저장 없이 동일 결과 복원)
- 만세력(월별 일진/절기) 조회 및 Markdown 복사/공유 기능
- Stimulus 기반 인터랙션(관계 하이라이트, 신살 필터, 클립보드 복사)
- Turbo Native 기반 iOS/Android 앱 내 웹뷰 네비게이션 및 탭 구조 연동
기술적 의사결정
- 복잡한 전통 역법 로직(절기 경계, 음력 윤달, 공망/신살 계산)을 서비스 객체로 분리해 테스트 가능한 구조로 설계함.
- 결과 저장 없이 공유 가능하도록 SeedEncoder를 도입해 URL만으로 입력값을 복원하고, 개인정보 저장 부담을 줄임.
- 웹/모바일 동시 운영을 위해 Hotwire Native 경로 설정과 브리지 계층을 적용해 단일 Rails 코드베이스 재사용성을 높임.