-
Notifications
You must be signed in to change notification settings - Fork 2
Architecture Overview
ClarusIubar edited this page Jun 6, 2026
·
10 revisions
STH-1-Class-One-Group/JamIssue는 MSA 전환을 위해 분리한 JamIssue Web Front service 레포입니다.
이 레포는 사용자가 보는 React Web Front를 빌드하고 Cloudflare Pages에 배포합니다. API 구현, Worker, DB, 관리자 기능은 ClarusIubar/JamIssue_admin이 소유합니다.
SPA는 Web Front service의 구현 방식입니다. 아키텍처 소유권은 Web Front, Backend/API, Admin/Data 서비스 경계로 판단합니다.
flowchart LR
A["Web Front service<br/>STH-1-Class-One-Group/JamIssue"] --> B["Backend/API service<br/>api.daejeon.jamissue.com"]
C["Mobile App service"] --> B
F["Admin/Data service<br/>ClarusIubar/JamIssue_admin"] --> B
B --> D["Cloudflare Worker/API"]
B --> E["Supabase"]
flowchart TD
A["App.tsx"] --> B["Coordinator hooks"]
B --> C["State / loader / action"]
C --> D["API client"]
B --> E["Stage view components"]
E --> F["Leaf components"]
Web Front service는 다음 원칙을 따릅니다.
- 화면 상태와 사용자 흐름은 React client 내부에서 관리합니다.
- 데이터 정합성과 권한 판단은 API 응답을 기준으로 합니다.
- API shape는
ClarusIubar/JamIssue_admin의 provider-side contract를 따릅니다. - public env만 사용합니다.
- service-role key, backend secret, migration 파일은 이 레포에 두지 않습니다.
- 정적 asset은 Cloudflare Pages
daejeon-jamissue-pages에 배포합니다. - 운영 도메인은
https://daejeon.jamissue.com입니다. - 운영 API base URL은
https://api.daejeon.jamissue.com입니다. - React SPA 직접 진입 경로는 Pages fallback으로
index.html을 반환해야 합니다.
이 레포는 API를 구현하지 않습니다. 다음만 담당합니다.
- API base URL 설정
- consumer-side request/response 타입
- response parsing
- loading/error/empty UI 상태 처리
- 로그인 진입과 callback 이후 화면 흐름
- 공개 Web smoke 검증
API endpoint, auth/session, DB persistence, provider-side contract test는 ClarusIubar/JamIssue_admin에서 관리합니다.