feat: web dashboard for o2 #28

Closed
joe wants to merge 0 commits from feat/web-dashboard-ui into main
Owner

概要

o2 APIにウェブダッシュボードUIを追加。h1-c2(Flutter)とは独立した、操作者向け直接ブラウザアクセス用UI。

変更内容

  • Templates: login.html(認証画面)、dashboard.html(4タブ+統計)
  • Static: main.css(レスポンシブ)、main.js(API連携JS)
  • Routes: /→/login→/dashboard、静的ファイル配信
  • ダッシュボード: 集計統計、仕訳一覧、貸借対照表、損益計算書、取引先残高
  • デプロイ支援: start.sh、o2.service(systemd)

動作確認

  • pytest → 13件全パス
  • http://localhost:8000/login でログインフォーム表示
  • /dashboard で4タブダッシュボード表示

関連 Issue

## 概要 o2 APIにウェブダッシュボードUIを追加。h1-c2(Flutter)とは独立した、操作者向け直接ブラウザアクセス用UI。 ## 変更内容 - **Templates**: `login.html`(認証画面)、`dashboard.html`(4タブ+統計) - **Static**: `main.css`(レスポンシブ)、`main.js`(API連携JS) - **Routes**: `/`→`/login`→`/dashboard`、静的ファイル配信 - **ダッシュボード**: 集計統計、仕訳一覧、貸借対照表、損益計算書、取引先残高 - **デプロイ支援**: `start.sh`、`o2.service`(systemd) ## 動作確認 - `pytest` → 13件全パス - `http://localhost:8000/login` でログインフォーム表示 - `/dashboard` で4タブダッシュボード表示 ## 関連 Issue - Issue #28
- HTML templates: login, dashboard with 4 tabs
- Static assets: CSS (responsive layout) and JS (API client, tab switching)
- FastAPI routes: /, /login, /dashboard, /static/{path}
- Deployment helpers: start.sh, o2.service (systemd)
- Dashboard tabs: journals, trial balance, balance sheet, counterparty
- STATE.md: v50 API トークン管理の決定事項追記、アクティビティ更新
- ROADMAP.md: Phase v50 追加(ApiKey モデル + API トークン管理 API / ログイン + UI)
- API_CONTRACT.md: POST /api/auth/api-key-login + API トークン管理 API 追加
- design spec: docs/superpowers/specs/2026-09-16-api-token-design.md 作成
- Use o2://connect?base_url=<URL>&jwt=<JWT> format as specified
- Update design spec and API contract
Author
Owner

クローズ(#29 に統合済み)

本 Issue のタブUIダッシュボードは、弥生風 Web UI(#29)として再実装され、旧実装は廃止されました。

経緯

  • 旧 templates/dashboard.html(タブUI)+ static/js/main.js + static/css/main.css を削除
  • 弥生風UIへ置換:
    • 基盤: base.html(メニューバー/ツールバー/サイドバー/ステータスバー)+ yayoi.css + app.js(IPA Pゴシック同梱)
    • P1: /dashboard /journals /trial-balance /balance-sheet /income-statement
    • P2: /clients /products /accounts /suppliers
    • P3: /expenses /analysis /payroll /tax + ダッシュボードのチャート
  • 認証・静的配信ルート(/→/login→/dashboard)・start.sh/o2.service は維持

テスト

  • コアスイート 5349 passed / 0 failed(Web UI テスト 132 を含む)

進捗は #29 を参照してください。本 Issue はスコープが #29 に吸収されたためクローズします。

## クローズ(#29 に統合済み) 本 Issue のタブUIダッシュボードは、**弥生風 Web UI(#29)として再実装**され、旧実装は廃止されました。 ### 経緯 - 旧 `templates/dashboard.html`(タブUI)+ `static/js/main.js` + `static/css/main.css` を**削除** - 弥生風UIへ置換: - 基盤: `base.html`(メニューバー/ツールバー/サイドバー/ステータスバー)+ `yayoi.css` + `app.js`(IPA Pゴシック同梱) - P1: `/dashboard` `/journals` `/trial-balance` `/balance-sheet` `/income-statement` - P2: `/clients` `/products` `/accounts` `/suppliers` - P3: `/expenses` `/analysis` `/payroll` `/tax` + ダッシュボードのチャート - 認証・静的配信ルート(`/`→`/login`→`/dashboard`)・`start.sh`/`o2.service` は維持 ### テスト - コアスイート 5349 passed / 0 failed(Web UI テスト 132 を含む) 進捗は #29 を参照してください。本 Issue はスコープが #29 に吸収されたためクローズします。
joe closed this pull request 2026-09-18 07:17:18 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
h1-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
joe/o2!28
No description provided.