Feature 브릭 개요#
Bricksmith는 27개 feature 브릭을 제공합니다. 각 브릭은 Clean Architecture 기반의 완전한 vertical slice로, frontend + 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) |
전체 브릭 목록#
| 브릭 | 기본 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 |
생성 구조#
각 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/ # 통합/단위 테스트