Feature 브릭 개요#
Bricksmith는 **56개 feature 브릭 (27 App + 29 Console)**을 제공합니다. 각 브릭은 Clean Architecture 기반의 완전한 vertical slice로, frontend + Serverpod backend를 포함합니다.
공통 변수#
모든 feature 브릭은 동일한 변수 체계를 사용합니다:
| Variable | Type | Description |
|---|---|---|
project_name | string | 프로젝트명 (snake_case) |
org_name | string | 조직명 |
org_tld | string | 최상위 도메인 (default: com) |
feature_name | string | Feature 모듈명 (snake_case) |
primary_entity | string | 주요 도메인 Entity명 (PascalCase) |
secondary_entity | string | 보조 Entity명 (PascalCase) |
`primary_entity`와 `secondary_entity`는 AI가 도메인에 맞게 자유롭게 지정할 수 있습니다. 변경 시 모든 파일명, 클래스명, 변수명이 자동 변환됩니다.
App Feature 브릭 (27개)#
| 브릭 | 기본 feature_name | primary_entity | secondary_entity |
|---|---|---|---|
| feature-ai_chat | ai_chat | AiMessage | - |
| feature-app_router | app_router | - | - |
| feature-assessment | assessment | LevelTestResult | QuestionResult |
| feature-book_content_reader | book_content_reader | BookContent | ReadingSession |
| feature-book_content_search | book_content_search | PdfSearchResult | - |
| feature-book_content_viewer | book_content_viewer | BookContent | ReadingProgress |
| feature-chat | chat | ChatMessage | ChatRoom |
| feature-check_in | check_in | AttendanceRecord | QrScanResult |
| feature-community | community | Post | Comment |
| feature-dashboard | dashboard | DashboardMetric | DashboardWidget |
| feature-group | group | Group | Member |
| feature-home | home | HomeFeed | Banner |
| feature-my_library | my_library | LibraryItem | ReadingHistory |
| feature-my_page | my_page | UserProfile | UserSetting |
| feature-mypage | mypage | UserProfile | UserSetting |
| feature-notice_board | notice_board | Notice | NoticeCategory |
| feature-notification | notification | NotificationItem | NotificationSetting |
| feature-onboarding | onboarding | OnboardingStep | UserPreference |
| feature-payment | payment | PaymentTransaction | PaymentMethod |
| feature-publisher_settlement | publisher_settlement | Settlement | SettlementItem |
| feature-ranking | ranking | RankEntry | LeagueInfo |
| feature-report | report | Report | ReportTemplate |
| feature-review | review | Review | ReviewComment |
| feature-search | search | SearchResult | SearchFilter |
| feature-store | store | StoreItem | StoreCategory |
| feature-task | task | Activity | Homework |
| feature-users | users | UserAccount | UserRole |
Console Feature 브릭 (29개)#
관리자 콘솔 전용 feature 브릭입니다. 자세한 목록은 Console Features 페이지를 참고하세요.
| 카테고리 | 브릭 수 | 주요 브릭 |
|---|---|---|
| Console 관리 | 23 | console_dashboard, console_user_management, console_sales_analysis 등 |
| Publisher | 4 | console_publisher_management, console_publisher_settlement 등 |
| SCM 견본 관리 | 2 | console_scm_sample_book, console_scm_sample_book_request |
생성 구조#
각 feature 브릭은 다음 구조를 생성합니다:
Frontend (feature/application/)#
{feature_name}/
├── lib/
│ ├── {feature_name}.dart # Barrel export
│ └── src/
│ ├── data/ # Repository, Cache, OpenAPI Mixin
│ ├── domain/ # Entity, UseCase, Repository Interface
│ ├── presentation/ # BLoC, Page, Widget
│ ├── route/ # GoRouter TypedRoute
│ └── di/ # Dependency Injection
└── test/ # BDD, Unit, Widget 테스트
Backend (backend/{project}_server/)#
feature/{feature_name}/
├── endpoint/ # Serverpod CRUD 엔드포인트
├── service/ # 비즈니스 로직
├── model/ # Entity, DTO, Enum (.spy.yaml)
├── exception/ # 도메인 예외
├── validation/ # 입력 검증
└── test/ # 통합/단위 테스트