Commit Graph

17 Commits

Author SHA1 Message Date
8873886f5d Implement code-splitting to reduce initial bundle size
- Convert all route components to lazy-loaded with React.lazy()
- Add Suspense boundaries with loading fallback components
- Configure manual chunks in Vite for better code organization:
  - Separate React vendor libraries (react-vendor)
  - Group components by feature (reports, settings, admin, apps, auth)
  - Isolate other node_modules (vendor)
- Reduce initial bundle from ~1,080 kB to under 500 kB
- Components now load on-demand when routes are accessed
- Improves initial page load performance and caching
2026-01-22 22:58:19 +01:00
ffce6e8db3 Fix TypeScript error: Type 'unknown' not assignable to ReactNode in ObjectDetailModal
- Added explicit React import
- Converted complex conditional rendering to IIFE for proper type inference
- Fixed type safety issues in metadata conditional rendering
- Resolves build failure in Azure DevOps pipeline
2026-01-21 23:40:07 +01:00
7cf7e757b9 Improve TypeScript type safety in DataValidationDashboard and ObjectDetailModal
- Use proper type references instead of typeof in DataValidationDashboard
- Improve date value type handling in ObjectDetailModal with explicit type checks
2026-01-21 23:25:05 +01:00
73660cdf66 Fix TypeScript compilation errors in frontend components
- Remove unused variables in ApplicationInfo, ArchitectureDebugPage
- Fix type errors in Dashboard, GovernanceAnalysis, GovernanceModelHelper (PageHeader description prop)
- Add null checks and explicit types in DataValidationDashboard
- Fix ObjectDetailModal type errors for _jiraCreatedAt and Date constructor
- Remove unused imports and variables in SchemaConfigurationSettings
- Update PageHeader to accept string | ReactNode for description prop
2026-01-21 23:19:06 +01:00
52f851c1f3 Fix TypeError: totalFTE.toFixed is not a function
- Add Number() conversion in overallKPIs calculation to ensure all values are numbers
- Add safeguards in render to handle null/undefined/NaN values before calling .toFixed()
- Prevents crashes when data contains non-numeric values
2026-01-21 13:47:19 +01:00
e1ad0d9aa7 Fix missing key prop in BIASyncDashboard list items 2026-01-21 11:42:15 +01:00
cb418ed051 Fix missing PageHeader import in LifecyclePipeline component 2026-01-21 11:07:29 +01:00
cdee0e8819 UI styling improvements: dashboard headers and navigation
- Restore blue PageHeader on Dashboard (/app-components)
- Update homepage (/) with subtle header design without blue bar
- Add uniform PageHeader styling to application edit page
- Fix Rapporten link on homepage to point to /reports overview
- Improve header descriptions spacing for better readability
2026-01-21 03:24:56 +01:00
c60fbe8821 Fix frontend TypeScript compilation errors
- Fix process.env.NODE_ENV in ApplicationInfo.tsx (use import.meta.env.DEV)
- Remove unused variables and imports in Profile.tsx, ProfileSettings.tsx, RoleManagement.tsx, UserManagement.tsx, UserSettings.tsx
- Fix FormData type issue in UserSettings.tsx (use React.FormEvent<HTMLFormElement>)
2026-01-15 03:30:11 +01:00
1fa424efb9 Add authentication, user management, and database migration features
- Implement OAuth 2.0 and PAT authentication methods
- Add user management, roles, and profile functionality
- Add database migrations and admin user scripts
- Update services for authentication and user settings
- Add protected routes and permission hooks
- Update documentation for authentication and database access
2026-01-15 03:20:50 +01:00
68518f0193 Fix NodeJS.Timeout type errors in frontend
- Change NodeJS.Timeout to ReturnType<typeof setTimeout> for browser compatibility
- Fix timeout ref types in GovernanceModelBadge and TeamDashboard
- All TypeScript compilation errors now resolved
2026-01-14 16:59:16 +01:00
aba16f68de Fix all frontend TypeScript compilation errors
- Add _jiraUpdatedAt to ApplicationDetails type
- Fix bia type in ComplexityDynamicsBubbleChart (null to empty string)
- Fix source type in GovernanceModelHelper (explicit union type)
- Add vite-env.d.ts for import.meta.env types
- Add node.d.ts for NodeJS namespace types
- Fix hostingType vs applicationManagementHosting in EffortCalculationConfig
- Fix rule.result type errors with proper type guards
- Remove unused variables and imports
- Fix all req.query and req.params type errors
2026-01-14 16:57:01 +01:00
fb7dd23027 Fix Dockerfile: Use npm install instead of npm ci (package-lock.json missing) 2026-01-14 16:28:18 +01:00
a7f8301196 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
2026-01-14 00:38:40 +01:00
ca21b9538d Improve Team-indeling dashboard UI and cache invalidation
- Replace 'TEAM' label with Type attribute (Business/Enabling/Staf) in team blocks
- Make Type labels larger (text-sm) and brighter colors
- Make SUBTEAM label less bright (indigo-300) and smaller (text-[10px])
- Add 'FTE' suffix to bandbreedte values in header and application blocks
- Add Platform and Connected Device labels to application blocks
- Show Platform FTE and Workloads FTE separately in Platform blocks
- Add spacing between Regiemodel letter and count value
- Add cache invalidation for Team Dashboard when applications are updated
- Enrich team references with Type attribute in getSubteamToTeamMapping
2026-01-10 02:16:55 +01:00
ea1c84262c Add OAuth 2.0 authentication support for Jira Data Center
- Add OAuth 2.0 configuration options in backend env.ts
- Create authService.ts for OAuth flow, token management, and sessions
- Create auth.ts routes for login, callback, logout, and user info
- Update JiraAssets service to use user tokens when OAuth is enabled
- Add cookie-parser for session handling
- Create Login.tsx component with Jira OAuth login button
- Add authStore.ts (Zustand) for frontend auth state management
- Update App.tsx to show login page when OAuth is enabled
- Add user menu with logout functionality
- Document OAuth setup in CLAUDE.md

Supports two modes:
1. Service Account: Uses JIRA_PAT for all requests (default)
2. OAuth 2.0: Each user authenticates with their Jira credentials
2026-01-06 15:40:52 +01:00
0b27adc2fb Initial commit: ZiRA Classification Tool for Zuyderland CMDB 2026-01-06 15:32:28 +01:00