Flutter Web で作成した、職務経歴・スキル・個人開発・その他活動を構造化して見せるポートフォリオ履歴書です。履歴書データは YAML を Single Source of Truth として管理し、生成済み Dart 定数を UI から参照します。
ポートフォリオリポジトリのため外部 PR、一般的なサポート依頼、機能要望、通常のバグ報告は受け付けません。Issue は依存更新や公開リポジトリ運用上の衛生報告のために限定的に有効化しています。
公開ページ: https://corvus400.github.io/resume-flutter/
- Flutter Web 製の履歴書 UI — Home / Work Experience / Personal Projects / Outside Activities / Skills を Web で閲覧できる構成
- AI 時代のモバイル開発を訴求 — Home のファーストビューで、AI 活用・設計力・検証力を軸にしたキャリアメッセージを表示
- YAML SSOT のコンテンツ管理 — 職務経歴・スキル・活動・個人開発のデータを
content/resume/に集約し、UI 実装と分離 - 生成コードの整合性チェック —
tool/generate_resume_content.dart --checkを CI に組み込み、YAML と Dart 定数のずれを検出 - レスポンシブな Web 体験 — desktop / phone の golden test と navigation contract test で表示崩れと遷移を確認
- 公開前 hardening — MIT License、Security Policy、Issue forms、Dependabot / Renovate、GitHub Actions SHA pinning、画像メタデータ監査を適用
# 依存解決
flutter pub get
# 生成済みコンテンツの整合性確認
dart run tool/generate_resume_content.dart --check
# 開発起動
flutter run -d chromeGitHub Pages と同じ base href でローカル build を確認する場合:
flutter build web --wasm --release --base-href /resume-flutter/履歴書の本文データは content/resume/ 配下の YAML を正とします。UI は YAML を直接読まず、生成済みの lib/data/generated/resume_content.g.dart を参照します。
# YAML 変更後に Dart 定数を再生成
dart run tool/generate_resume_content.dart
# CI と同じ整合性チェック
dart run tool/generate_resume_content.dart --checkこの構成により、職務経歴・スキル・その他活動・個人開発のメンテナンス対象を UI 実装から分離しています。
Flutter UI、typed model、生成済み content、YAML source を分離しています。lib/data/resume_data.dart は公開 API として生成ファイルを再 export し、画面側は型付きデータだけを扱います。
graph TD
YAML["content/resume/*.yaml — Resume content SSOT"]
GEN["tool/generate_resume_content.dart — Generator"]
DATA["lib/data/generated/resume_content.g.dart — Typed constants"]
MODEL["lib/data/models — Experience / Skill / Section / Home models"]
UI["lib/ui — Home / Experience / Projects / Activities / Skills"]
WEB["Flutter Web / GitHub Pages"]
YAML --> GEN
GEN --> DATA
MODEL --> DATA
DATA --> UI
UI --> WEB
# 生成チェック
dart run tool/generate_resume_content.dart --check
# format
dart format --set-exit-if-changed .
# 静的解析
flutter analyze
# テスト
flutter test
# golden 更新が必要な UI 変更時
flutter test --update-goldensmain への push で GitHub Pages へ deploy します。workflow 内では依存解決、生成チェック、静的解析、golden 以外の test、Flutter Web build を実行します。
Pull Request では CI / ci-gate が trust gate として動作します。外部 fork からの Pull Request は受け付けず、同一 repository からの owner / dependency bot PR だけを検証対象にします。
GitHub Actions は selected actions と SHA pinning を前提にしています。workflow の uses: を更新する場合は、許可リスト側も同じ commit SHA に合わせて更新してください。
本プロジェクトは MIT License で公開しています。
| ライブラリ / アセット | ライセンス | 用途 |
|---|---|---|
| Flutter | BSD-3-Clause | Web アプリケーション実装 |
| Dart | BSD-3-Clause | アプリケーション / generator 実装 |
| Noto Sans JP | SIL OFL 1.1 | assets/fonts/ 配下に同梱。Reserved Font Name: "Noto" |
