사람함께에이전트▾
사람 — 직접 정하고 책임지는 비즈니스 규칙과 흐름. 직접 읽어보세요.
함께 — 개념은 알아두고, 세부 규칙은 에이전트가 따릅니다.
에이전트 — 에이전트가 따르는 규칙과 레퍼런스. 필요할 때 찾아보세요.
일반▾
인터페이스▾
관측성▾
성능▾
네이티브▾
개발▾

Constant 스키마 문서

데이터 모델 명세서를 손으로 쓸 필요가 없습니다. Constant.Doc은 ConstantRegistry에 등록된 모델을 읽어 필드 표와 관계 다이어그램을 바로 그립니다.
이 페이지에서 쓰는 말
refName
코드에서 쓰는 모델 이름입니다. user, bizContract 같은 것이고, 보여 줄 모델을 이 이름으로 고릅니다.
variant
모델 하나가 선언하는 다섯 클래스 Input, Object, Light, Full, Insight 중 하나입니다.
scalar
다른 모델 안에 들어가는 값 객체입니다. lib/__scalar/ 아래에 선언합니다.
enum
허용되는 값을 정해 둔 목록입니다. enumOf(...)로 선언합니다.
구성 요소
Constant.Doc.Zone
화면에서 둘러보는 탐색기입니다. 검색, 표와 다이어그램 전환, variant별 탭이 있습니다.
Constant.Doc.Print
모든 내용을 한 페이지에 펼쳐 둔 버전입니다. 그대로 인쇄하거나 PDF로 저장합니다.
Constant.Doc.ModelConstant.Doc.Scalar
모델이나 scalar 하나를 접이식 패널 하나로 그립니다. refName으로 고릅니다.
Constant.Doc.Enum
등록된 모든 enum을 표 하나에 담습니다. 값과, 그 enum을 쓰는 필드가 함께 나옵니다.
페이지에 띄우기
route에서 바로 그리며, route는 서버 페이지로 둡니다:
apps/myapp/page/(admin)/schema/_index.tsx
두 컴포넌트가 같은 목록을 받습니다:
modelsstring[]기본값 전체
보여 줄 데이터베이스 모델의 refName 목록입니다. 적은 순서대로 나옵니다.
scalarsstring[]기본값 전체
보여 줄 scalar 모델의 refName 목록입니다.
enumsstring[]기본값 전체
보여 줄 enum 목록입니다. 클래스 이름의 첫 글자만 소문자로 씁니다(BizContractStatus → bizContractStatus).
includestring[]기본값 전체
시작점이 될 모델과 scalar의 refName 목록입니다. 여기서 닿는 scalar와 enum이 함께 나옵니다.
excludestring[]기본값 []
모든 목록에서 뺄 이름입니다. 이것을 거쳐야만 닿는 scalar와 enum도 함께 빠집니다.
libsstring[]기본값 전체
보여 줄 라이브러리입니다. 항목마다 그것을 가진 앱이나 lib로 판단하며, 앱이 확장한 모델은 앱 것입니다.
groupBy"lib"Doc.Zone
라이브러리마다 섹션과 다이어그램을 따로 그리며 앱이 먼저 옵니다. 다른 라이브러리로 가는 관계는 외부 노드입니다.
openAllboolean기본값 falseDoc.Zone
모든 모델과 scalar 패널을 펼칩니다. Doc.Print는 항상 다 펼쳐져 있어 이 값을 쓰지 않습니다.
  • 빈 목록은 "없음"입니다. models={[]}는 모델을 하나도 보여 주지 않고, prop을 빼야 등록된 전체가 나옵니다.
  • 한 목록을 좁히면 나머지도 따라 좁혀집니다. models, include, exclude 중 하나라도 주면, 뺀 scalars는 보이는 모델이 품은 scalar로, 뺀 enums는 그 필드가 쓰는 enum으로 정해집니다.
  • 이름을 잘못 쓰면 조용히 빠집니다. 모델이 안 보이면 요약 카드의 개수와 refName 철자를 확인하세요.
  • 순서는 적은 대로입니다. 목록을 생략하면 이름순으로 정렬됩니다.
  • URL. (admin)은 route 그룹이라 경로에 들어가지 않습니다. 위 페이지는 /schema에서 열립니다.
  • 출력용 버전. schema/print.tsx를 같은 모양으로 만들고 <Constant.Doc.Print />를 그리면 /schema/print에서 열립니다.

생성된 스키마

Constant.Doc.Zone은 둘러보기용입니다. 모델마다 필드 표가 든 패널이 하나씩 있고, 도구 모음에서 표 대신 관계 다이어그램으로 볼 수 있습니다.
화면 구성
부분하는 일
요약 카드데이터베이스 모델, scalar 모델, enum, 관계의 개수를 보여 줍니다.
검색모델과 scalar는 refName으로, enum은 이름으로 거릅니다.
Table · Diagram필드 표와, 모델끼리 서로 가리키는 관계를 그린 그래프를 오갑니다.
Input · Object · Full · Light · Insight모델의 variant를 하나씩 보여 줍니다. 처음에는 Full이 열립니다.
Detail필드 하나의 설정 전체를 JSON으로 엽니다. ref, example, meta도 여기서 봅니다.
필드 표 읽는 법
Type
필드 타입입니다. !는 필수 필드이고, 모델이나 scalar 타입은 색으로 강조됩니다.
Kind
property, hidden, secret, resolve 중 하나이며, select:false와 immutable 배지가 붙습니다.
Default
선언한 기본값입니다. 함수로 준 기본값은 [function]으로 나옵니다.
Constraints
min, max, minlength, maxlength, 검색용 text: 역할, custom validate, accumulate입니다.
Values
enum 필드일 때 허용되는 값입니다.
  • 레이블은 dictionary에서 옵니다. 모델 설명은 .of()에 적은 것이고, 필드마다 레이블과 .desc()가 나옵니다.
  • 다이어그램 읽기. 화살표마다 그 관계를 만든 필드 이름이 붙습니다. 목록에 없는 모델은 External 노드로 나옵니다.
  • 노드를 누르면 옆 패널에 그 모델의 필드와 타입이 나옵니다. 데이터베이스 모델은 Full variant 기준입니다.
이 사이트에서 실제로 그린 모습

Constant 스키마 문서

ConstantRegistry에 등록된 데이터베이스 모델, scalar 모델, enum과 관계입니다.

데이터베이스 모델
0
scalar 모델
5
enum
3
관계
1

데이터베이스 모델

일치하는 데이터베이스 모델이 없습니다.

scalar 모델

DocPagedocPageakan
Akan.js 문서의 한 페이지로, 메뉴 항목이자 읽을 수 있는 문서다.
필드타입종류기본값제약 조건값설명
href
경로
String!
property
—
—
—
문서 경로이며, readDocPage 에 넘기는 식별자
title
제목
String
property
—
—
페이지 제목
section
구획
String!
property
docs
—
docsreferencesconventionscheatsheet
네 문서 구획 중 어디에 속하는지
category
분류
String
property
—
—
페이지가 속한 메뉴 그룹
priority
우선순위
String!
property
P2
—
P0P1P2
읽는 순서 — P0 가 프레임워크를 관통하는 경로
summary
요약
String
property
—
—
페이지의 첫 산문 문단
AccessTokenaccessTokenutil
인증을 위한 액세스 토큰
필드타입종류기본값제약 조건값설명
jwt
JWT
String!
property
—
—
—
JSON 웹 토큰
refreshToken
리프레시 토큰
String
property
—
—
—
토큰 갱신용 리프레시 토큰
expiresAt
만료 시각
Date
property
—
—
—
액세스 토큰 만료 시각
AccessLogaccessLogutil
액세스 로그 정보
필드타입종류기본값제약 조건값설명
period
기간
Int!
property
0
—
—
시간 기간
countryCode
국가 코드
String
property
—
—
—
ISO 국가 코드
countryName
국가 이름
String
property
—
—
—
국가 이름
city
도시
String
property
—
—
—
도시 이름
postal
우편번호
Int
property
—
—
—
우편번호
location
위치
Coordinate
property
—
—
—
지리적 위치
ipv4
아이피
String
property
—
—
—
IPv4 주소
state
주
String
property
—
—
—
주 또는 도
osName
OS 이름
String
property
—
—
—
운영체제 이름
osVersion
OS 버전
String
property
—
—
—
운영체제 버전
browserName
브라우저 이름
String
property
—
—
—
웹 브라우저 이름
browserVersion
브라우저 버전
String
property
—
—
—
웹 브라우저 버전
mobileModel
모바일 모델
String
property
—
—
—
모바일 디바이스 모델
mobileVendor
모바일 벤더
String
property
—
—
—
모바일 디바이스 제조사
deviceType
디바이스 타입
String
property
—
—
—
디바이스 타입
at
시간
Date!
property
[function]
—
—
액세스 시간
AccessStataccessStatutil
액세스 통계 정보
필드타입종류기본값제약 조건값설명
request
요청
Int!
property
0
—
—
요청 수
device
디바이스
Int!
property
0
—
—
디바이스 수
ip
아이피
Int!
property
0
—
—
고유 IP 수
country
국가
Int!
property
0
—
—
국가 수
Coordinatecoordinateutil
지리적 좌표 정보
필드타입종류기본값제약 조건값설명
type
타입
String!
property
Point
—
Point
좌표 타입
coordinates
좌표
[Float]!
property
[0,0]
—
—
경도와 위도 값
altitude
고도
Float!
property
0
—
—
미터 단위 고도

enum

enum타입값사용처
coordinateType
coordinateType
String
Point
coordinate.type
docPriority
docPriority
String
P0P1P2
docPage.priority
docSection
docSection
String
docsreferencesconventionscheatsheet
docPage.section

MIT 라이선스 하에 배포되었습니다.

내 AI에 이 문서 연결하기

MCPhttps://akanjs.com/mcp
Copyright © 2026 Akan.js 모든 권리 보유.시스템 관리자bassman