Skip to content

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"]
Loading

Web Front 구조

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"]
Loading

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를 구현하지 않습니다. 다음만 담당합니다.

  • 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에서 관리합니다.

관련 문서

Clone this wiki locally