43 lines
1.5 KiB
Markdown
43 lines
1.5 KiB
Markdown
# IOP Portal
|
|
|
|
IOP(Inference Operations Platform)의 공식 Portal UI 애플리케이션입니다. Flutter를 사용하여 다중 플랫폼(Web, Desktop, Mobile)을 단일 코드베이스로 지원합니다.
|
|
|
|
## 개발 및 검증 명령
|
|
|
|
### 의존성 설치
|
|
```bash
|
|
flutter pub get
|
|
```
|
|
|
|
### 테스트 실행
|
|
```bash
|
|
flutter test
|
|
```
|
|
|
|
### Dart Protobuf 생성
|
|
이 프로젝트는 Go/Dart 등 다중 언어 환경의 메시지 계약을 공유하기 위해 protobuf를 사용합니다.
|
|
Dart proto 코드를 새로 생성하려면 루트 `Makefile`에서 `make proto-dart`를 실행하세요.
|
|
|
|
필요 조건:
|
|
1. `protoc` 설치
|
|
2. `protoc_plugin` 글로벌 설치:
|
|
```bash
|
|
flutter pub global activate protoc_plugin
|
|
```
|
|
*참고: `protoc-gen-dart`가 시스템 `PATH`에 등록되어 있지 않더라도, `Makefile`이 자동으로 `~/.pub-cache/bin` 및 `/config/.pub-cache/bin` 경로를 검색해 컴파일을 수행하므로 수동 PATH 설정이 필수적이지는 않습니다.*
|
|
|
|
### Web 빌드
|
|
```bash
|
|
flutter build web \
|
|
--dart-define=IOP_CONTROL_PLANE_HTTP_URL=http://localhost:9080 \
|
|
--dart-define=IOP_CONTROL_PLANE_WIRE_URL=ws://localhost:19080/portal
|
|
```
|
|
|
|
## 환경 변수 및 설정 정의
|
|
|
|
본 앱은 빌드 시점에 `--dart-define` 인자를 사용해 설정을 주입받습니다.
|
|
|
|
| 변수명 | 설명 | 기본값 |
|
|
|--------|------|--------|
|
|
| `IOP_CONTROL_PLANE_HTTP_URL` | Control Plane HTTP API 주소 | `http://localhost:9080` |
|
|
| `IOP_CONTROL_PLANE_WIRE_URL` | Control Plane WebSocket 연결 주소 | `ws://localhost:19080/portal` |
|