Add database adapter system, production deployment configs, and new dashboard components

- Add PostgreSQL and SQLite database adapters with factory pattern
- Add migration script for SQLite to PostgreSQL
- Add production Dockerfiles and docker-compose configs
- Add deployment documentation and scripts
- Add BIA sync dashboard and matching service
- Add data completeness configuration and components
- Add new dashboard components (BusinessImportanceComparison, ComplexityDynamics, etc.)
- Update various services and routes
- Remove deprecated management-parameters.json and taxonomy files
This commit is contained in:
2026-01-14 00:38:40 +01:00
parent ca21b9538d
commit a7f8301196
73 changed files with 12878 additions and 2003 deletions

View File

@@ -140,7 +140,7 @@ export default function ApplicationInfo() {
// Related objects state
const [relatedObjects, setRelatedObjects] = useState<Map<string, { objects: RelatedObject[]; loading: boolean; error: string | null }>>(new Map());
const [expandedSections, setExpandedSections] = useState<Set<string>>(new Set(['Server', 'Certificate'])); // Default expanded
const [expandedSections, setExpandedSections] = useState<Set<string>>(new Set()); // Default collapsed
useEffect(() => {
async function fetchData() {
@@ -365,6 +365,30 @@ export default function ApplicationInfo() {
<InfoRow label="Business Impact Analyse" value={application.businessImpactAnalyse?.name} />
<InfoRow label="Business Owner" value={application.businessOwner} />
<InfoRow label="System Owner" value={application.systemOwner} />
{application.dataCompletenessPercentage !== undefined && (
<div>
<label className="block text-sm font-medium text-gray-500 mb-1">Data Completeness</label>
<div className="flex items-center gap-3">
<div className="flex-1 min-w-[120px]">
<div className="w-full bg-gray-200 rounded-full h-2.5">
<div
className={`h-2.5 rounded-full transition-all ${
application.dataCompletenessPercentage >= 80
? 'bg-green-500'
: application.dataCompletenessPercentage >= 60
? 'bg-yellow-500'
: 'bg-red-500'
}`}
style={{ width: `${application.dataCompletenessPercentage}%` }}
/>
</div>
</div>
<span className="text-sm font-semibold text-gray-900 min-w-[50px]">
{application.dataCompletenessPercentage.toFixed(1)}%
</span>
</div>
</div>
)}
</div>
</div>
</div>
@@ -463,7 +487,6 @@ export default function ApplicationInfo() {
: 'bg-gray-100 text-gray-700'
)}
>
<span className="font-mono text-xs mr-2 opacity-70">{func.key}</span>
{func.name}
</span>
))}