Entity CRUD Portal
Portal은 배포된 백엔드와 상호작용할 수 있는 자동 생성 웹 애플리케이션입니다. Management Console이 모니터링, 감사 로그, API 테스트에 초점을 맞추는 것과 달리, Portal은 완전한 데이터 관리 경험을 제공합니다 — 레코드 조회, 데이터 생성 및 수정, Tool 실행, Entity 라이프사이클 관리.
Portal의 모든 것은 스펙에서 파생됩니다. 새 Entity나 Tool을 추가하면 Portal에 자동으로 반영됩니다 — 별도의 UI 작업이 필요 없습니다.
Fascia 관리자 계정으로 로그인한 후 portal.fascia.run에서 Portal에 접속하세요. 최종 사용자에게 접근 권한을 부여하려면 End-User Authentication을 참고하세요.
Dashboard
로그인 후 랜딩 페이지입니다. 워크스페이스의 전반적인 현황을 제공합니다.
Entity 카드
워크스페이스의 각 Entity가 카드로 표시됩니다:
- Entity 이름과 설명
- 레코드 수 — 현재 존재하는 레코드 개수
카드를 클릭하면 해당 Entity의 레코드 목록으로 이동합니다.
최근 활동
워크스페이스 전체의 최신 작업 타임라인:
- 작업 유형 (생성, 수정, 삭제, 상태 전이)
- 영향받은 Entity와 레코드
- 작업 성공 또는 실패 여부
- 타임스탬프
전체 감사 로그를 확인하지 않고도 시스템 현황을 한눈에 파악할 수 있습니다.
Entity 목록
사이드바에서 Entity를 선택하면 모든 레코드를 테이블 형태로 볼 수 있습니다.
테이블 기능
- 컬럼은 Entity의 필드 정의에서 자동 생성됩니다
- 컬럼 헤더를 클릭하여 정렬 (오름차순/내림차순 토글)
- 테이블 위 드롭다운으로 상태별 필터링 — 특정 라이프사이클 단계의 레코드를 찾을 때 유용합니다 (예:
confirmed상태의 예약만 보기) - 하단의 페이지네이션으로 대량 데이터를 탐색하고 페이지 크기를 조정
필드 렌더링
필드는 타입에 따라 표시됩니다:
- 날짜는 읽기 쉬운 형식으로 포매팅
- Enum 값은 색상 뱃지로 표시
- Boolean은 Yes/No로 표시
- **참조(Reference)**는 참조된 레코드의 식별자로 표시
- JSON 필드는 축약된 미리보기 표시
행을 클릭하면 레코드 상세 페이지가 열립니다.
레코드 생성 및 수정
자동 생성 폼
새로 만들기(Entity 목록에서) 또는 수정(레코드 상세에서)을 클릭하면, Entity 스펙에 기반한 폼이 생성됩니다. 각 필드 타입에 적합한 입력 컨트롤이 제공됩니다:
| 필드 타입 | 입력 컨트롤 |
|---|---|
string | 텍스트 입력 |
number | 숫자 입력 |
boolean | 토글 스위치 (Yes/No) |
date | 날짜 선택기 |
datetime | 날짜 및 시간 선택기 |
enum | 정의된 옵션 드롭다운 |
json | JSON 입력 텍스트 영역 |
uuid | 고정폭 텍스트 입력 |
reference | 검색 조회 (아래 참조) |
Reference Lookup
필드가 다른 Entity를 참조하는 경우 (외래 키), 일반 텍스트 입력 대신 입력하면서 검색하는 조회 기능이 표시됩니다. 입력을 시작하면 매칭되는 레코드가 검색되고, 드롭다운에서 선택할 수 있습니다. 선택된 참조는 레이블로 표시되며, 클리어 버튼으로 다른 레코드를 선택할 수 있습니다.
유효성 검사
폼은 Entity 스펙의 유효성 규칙을 적용합니다:
- 필수 필드가 표시되며 제출 시 확인됩니다
- 타입별 유효성 검사 (유효한 날짜, 숫자 범위 등)
- 각 필드 아래에 에러 메시지 표시
제출 후 성공 알림이 표시되거나, 에러 메시지가 문제를 설명합니다.
레코드 상세
레코드를 클릭하면 전체 상세 뷰를 볼 수 있습니다.
필드
모든 필드 값이 읽기 전용으로 표시됩니다. 헤더의 수정 버튼으로 수정 폼으로 이동합니다.
상태 및 전이
Entity에 상태 머신이 있으면 현재 상태가 색상 뱃지로 표시됩니다. 그 아래에 가능한 다음 상태로의 전이 버튼이 표시됩니다.
예를 들어, pending 상태의 예약에는 confirm과 cancel 버튼이 표시될 수 있습니다. 취소, 실패, 삭제 등 파괴적 전이는 빨간색으로 강조됩니다.
전이 버튼을 클릭하면 실행 전에 확인 다이얼로그가 표시됩니다. 실수로 인한 상태 변경을 방지합니다.
Entity-Action 버튼
특정 Entity 타입에 대해 동작하는 Tool(예: Order에 대한 "송장 발송")이 있으면, 상세 페이지에 액션 버튼으로 표시됩니다. 클릭하면 현재 레코드가 미리 선택된 상태로 Tool 실행 폼으로 이동합니다.
관계 탭
Entity에 hasMany 관계가 있으면 (예: Customer가 여러 Order를 가짐), 상세 페이지에 각 관계별 탭이 표시됩니다.
각 탭에는:
- 관련 레코드의 주요 필드를 보여주는 미리보기 테이블
- 각 관련 레코드의 상태 뱃지
- 생성 타임스탬프
행을 클릭하면 관련 레코드의 상세 페이지로 이동합니다. 전체 보기 링크로 필터링된 전체 목록을 볼 수 있습니다.
Tool 실행
Tool 목록
사이드바의 Tools 섹션에 워크스페이스의 모든 배포된 Tool이 표시됩니다. 각 Tool은 카드로 표시되며:
- Tool 이름과 설명
- 트리거 타입 뱃지 (HTTP, Cron, Webhook, Queue)
Tool 실행하기
Tool을 클릭하면 실행 폼이 열립니다:
- 입력 필드 작성 — Tool의 입력 스키마에서 생성, Entity 폼과 동일한 필드 타입 사용
- 실행 클릭 — 배포된 백엔드로 요청 전송
- 결과 확인 — 폼 아래에 포매팅된 JSON으로 응답 표시
Entity-Action 버튼에서 트리거된 경우, 관련 Entity ID가 자동으로 채워집니다.
Portal vs Management Console
| 기능 | Portal | Management Console |
|---|---|---|
| 레코드 조회 및 검색 | Yes | Yes |
| 레코드 생성 및 수정 | Yes | No |
| 상태 전이 | Yes | No |
| Tool 실행 | Yes | No (API 테스트만) |
| 감사 로그 뷰어 | No | Yes |
| 시스템 모니터링 | No | Yes |
| API 테스트 콘솔 | No | Yes |
일상적인 데이터 관리와 Tool 실행에는 Portal을, 모니터링, 디버깅, 감사 컴플라이언스에는 Management Console을 사용하세요.
다음 단계
- End-User Authentication — 최종 사용자가 Portal에 로그인하여 사용하도록 설정
- 백엔드 관리하기 — 상태 모니터링, 감사 로그 확인, API 테스트
- 예약 시스템 만들기 — Portal을 실제로 체험하는 단계별 튜토리얼