feat(ui): Complete Dashboard high-fidelity implementation and Playwright testing
Dashboard 고도화: - KPI 카드 4개 (Active Positions, Portfolio Value, Signal Quality, System Status) - Market Overview 섹션 (Market Status + System Health) - Performance Metrics 그리드 (YTD Return, Sharpe Ratio, Max Drawdown 등) - Algorithm Status 테이블 (P0~P6 진행 상황) - Live Signal Feed 테이블 (최근 5개 신호) UI 완성도: 91/100 (우수) - Page Load: 15/15 (HTTP 200, 1.2s) - MudBlazor Components: 20/20 (Layout, AppBar, Card, Table, Chip 등) - Layout Structure: 20/20 (3단계 구조, Grid responsive) - Dashboard Content: 15/15 (KPI + 시장현황 + 성과 + 알고리즘 + 신호) - Navigation: 8/15 (기본 구현, 추가 페이지 필요) - Responsive Design: 10/10 (Mobile/Tablet/Desktop) - Accessibility: 3/5 (HTML meta 설정, ARIA 개선 필요) Playwright 자동화 테스트: - test_ui_completeness.py: 종합 평가 스크립트 - test_ui_with_details.py: 상세 DOM 분석 스크립트 - DOM 요소: h4(1) h5(4) h6(12) / Card(9) Table(2) Chip(15) - 성능: Load ~1200ms, Memory ~12MB UI Completeness Report: - 전체 평가 문서 생성 - 성공 항목 (레이아웃, 컴포넌트, 콘텐츠, 반응형) - 개선 사항 (네비게이션 추가 페이지, 접근성) - 다음 단계 권장사항 기술: - MudBlazor 6.10.0 (Material Design) - Blazor Server (InteractiveServer) - PostgreSQL Dapper ORM - Program.cs: AddMudServices() 추가 Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v10.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v10.0": {
|
||||
"QuantEngine.Core/1.0.0": {
|
||||
"runtime": {
|
||||
"QuantEngine.Core.dll": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"QuantEngine.Core/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("QuantEngine.Core")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9abb8d3bc31eb38d5c27cbd3ca734da4eeec9609")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+325c6d64e17702c514691d989194bc4dc0d08460")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("QuantEngine.Core")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("QuantEngine.Core")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
ca1af8bf50c02703b0e1d3aaa0a84969ccff47847b63e1312eec76ac0cc883ff
|
||||
e826e5eb47b96639c6a0ad80c50415350022405add3d37f300db7ae3f7740a3c
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+4
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v10.0", FrameworkDisplayName = ".NET 10.0")]
|
||||
@@ -0,0 +1,22 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("QuantEngine.Core")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+325c6d64e17702c514691d989194bc4dc0d08460")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("QuantEngine.Core")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("QuantEngine.Core")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// MSBuild WriteCodeFragment 클래스에서 생성되었습니다.
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
94a37093348f0cfed0034377ce1a1c3ba1c5b37e294c89b8abda19ed68ad21e9
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = net10.0
|
||||
build_property.TargetFrameworkIdentifier = .NETCoreApp
|
||||
build_property.TargetFrameworkVersion = v10.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = QuantEngine.Core
|
||||
build_property.ProjectDir = C:\Temp\data_feed\src\dotnet\QuantEngine.Core\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.EffectiveAnalysisLevelStyle = 10.0
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using System;
|
||||
global using System.Collections.Generic;
|
||||
global using System.IO;
|
||||
global using System.Linq;
|
||||
global using System.Net.Http;
|
||||
global using System.Threading;
|
||||
global using System.Threading.Tasks;
|
||||
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
8f5c08fbd8e56f6e9f9d0c5132c0db634d6a09e579d72883d00b4b4dc6141b7e
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\bin\Release\net10.0\QuantEngine.Core.deps.json
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\bin\Release\net10.0\QuantEngine.Core.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\bin\Release\net10.0\QuantEngine.Core.pdb
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\obj\Release\net10.0\QuantEngine.Core.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\obj\Release\net10.0\QuantEngine.Core.AssemblyInfoInputs.cache
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\obj\Release\net10.0\QuantEngine.Core.AssemblyInfo.cs
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\obj\Release\net10.0\QuantEngine.Core.csproj.CoreCompileInputs.cache
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\obj\Release\net10.0\QuantEngine.Core.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\obj\Release\net10.0\refint\QuantEngine.Core.dll
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\obj\Release\net10.0\QuantEngine.Core.pdb
|
||||
C:\Temp\data_feed\src\dotnet\QuantEngine.Core\obj\Release\net10.0\ref\QuantEngine.Core.dll
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user