Commit Graph
114 Commits
Author SHA1 Message Date
nessar 752733af11 feat: update Playwright config for CI environment and enhance sign-in page styles 2026-08-17 14:18:15 +02:00
nessar 668680e844 feat(#23): use landlord profiles in PDFs 2026-08-17 14:18:15 +02:00
nessar ac5a7942c9 feat: refactor forms to use reactive forms with signals for improved state management 2026-08-17 14:18:15 +02:00
nessar 5d2abf4184 feat: refactor settings page to use reactive forms for landlord profile 2026-08-17 14:18:15 +02:00
nessar b76dd27431 fix: remove obsolete landlord profile indexes migration 2026-08-17 14:18:15 +02:00
nessar ecacab0b9f feat(#22): manage landlord profile from OIDC 2026-08-17 14:18:15 +02:00
nessar f02e8a9ba5 fix: update budget limits for initial and component styles 2026-08-17 14:18:15 +02:00
nessar 990792c8c2 feat(#21): show current rent schedule 2026-08-17 14:18:15 +02:00
nessar 9cfb55d79c feat: enhance lease and rent payment management
- Added methods in LeaseRepository to find leases by apartment ID and exclude a specific lease ID.
- Introduced a method in RentPaymentRepository to delete all payments by lease ID.
- Updated LeaseService to handle overlapping leases and generate rent payments upon lease creation.
- Implemented rent payment deletion in LeaseService when a lease is deleted.
- Enhanced RentPaymentService to generate rent payments with pro-rata calculations for partial months.
- Modified RentPaymentController to accept rent and charges when marking payments as paid.
- Created RentPaymentPaidRequest DTO for validating rent payment requests.
- Added a RentPaymentValidationDialog for confirming payment amounts before processing.
- Updated frontend components to support new rent payment features, including validation and date filtering for leases.
- Adjusted tests to cover new functionalities and ensure proper integration of rent payment management.
2026-08-17 14:18:15 +02:00
nessar 479012d661 fix(#20): use inclusive query for rent payment month range 2026-08-17 14:18:15 +02:00
nessar df17f6e378 style: update workspace navigation grid to six columns 2026-08-17 14:18:15 +02:00
nessar 5db268bec7 fix: enforce unique chronological rent payments 2026-08-17 14:18:15 +02:00
nessar df6904e85d feat: update landlord profile management to link with OIDC subjects 2026-08-17 14:18:15 +02:00
nessar 47cb4bcdaf feat: add rent payment schedules and receipts 2026-08-17 14:18:15 +02:00
nessar f876639c02 feat: add integration tests for ApartmentRepository using Testcontainers with MongoDB 2026-08-17 14:18:15 +02:00
nessar 01fa812089 feat: add frontend end-to-end testing stage in CI pipeline 2026-08-17 14:18:15 +02:00
nessar 3dca10b56f feat: update Dockerfiles to use explicit image paths and enhance localStorage handling in ThemeService 2026-08-17 14:18:15 +02:00
nessar 030d00ef67 test: refactor ThemeService tests to use a mock localStorage implementation 2026-08-17 14:18:15 +02:00
nessar 38414e8656 fix: handle localStorage availability in ThemeService and update tests accordingly 2026-08-17 14:18:15 +02:00
nessar c10a79d5fb feat: inject ThemeService into App component and enhance responsive styles for navigation items 2026-08-17 14:18:15 +02:00
nessar 561c6619a1 Refactor CSS styles across multiple components for improved consistency and maintainability
- Removed redundant styles and consolidated common styles in styles.scss
- Updated layout and spacing variables for better responsiveness
- Simplified component-specific styles in apartment, lease, tenant, and dashboard components
- Enhanced readability and organization of CSS by utilizing CSS layers
- Ensured consistent use of design tokens for colors, spacing, and borders
2026-08-17 14:18:15 +02:00
nessar 713ab3b2d9 feat: integrate FontAwesome icons across various components
- Updated apartment-list component to use FontAwesome icons for better visual representation.
- Refactored brand-mark component to utilize FontAwesome for the brand icon.
- Enhanced dashboard-page with FontAwesome icons for improved navigation.
- Replaced SVG icons with FontAwesome in settings-page for consistency and better performance.
- Updated sign-in-page to use FontAwesome for the sign-in action icon.
- Refactored tenant-card to incorporate FontAwesome icons for attachments.
- Enhanced workspace-navigation with FontAwesome icons for all navigation items.
- Applied consistent styling for fa-icon elements across components.
2026-08-17 14:18:15 +02:00
nessar ba695e2426 feat: enhance attachment actions with Font Awesome icons and improve layout 2026-08-17 14:18:15 +02:00
nessar 5c19f244fc Replace browser confirmations with confirmation dialog 2026-08-17 14:18:15 +02:00
nessar a8a3d7a747 fix: complete loading review coverage (#18) 2026-08-17 14:18:15 +02:00
nessar 0f68a91c5d refactor: address loading review findings (#18) 2026-08-17 14:18:15 +02:00
nessar ec3319494b feat: add comprehensive loading feedback (#18) 2026-08-17 14:18:15 +02:00
nessar 45de0cebcc feat: update theme preference handling in ThemeService and index.html 2026-08-17 14:18:15 +02:00
nessar c8020c489e Refactor backend services and controllers to use DTOs for Tenant, Lease, and Apartment
- Updated TenantController to utilize TenantService and DTOs for tenant operations.
- Refactored UserController to return UserResponse DTO.
- Introduced LeaseService and ApartmentService to handle business logic and data mapping.
- Created DTOs for Apartment, Lease, Tenant, and User to standardize data transfer.
- Implemented mappers for converting between entities and DTOs using MapStruct.
- Removed landlordId from Apartment and Lease entities and adjusted related tests.
- Added validation and normalization logic for tenant and guarantor data.
- Enhanced unit tests to ensure proper mapping and data integrity during updates.
2026-08-17 14:18:15 +02:00
nessar 181410e28f feat: add unit tests for tenant, guarantor, lease card, dashboard, session, theme, and workspace services 2026-08-17 14:18:15 +02:00
nessar 74a77f2d2b feat: add coverage dependencies for Vitest and update js-tokens version 2026-08-17 14:18:15 +02:00
nessar 2b80266f78 fix: format package.json for consistent indentation 2026-08-17 14:18:15 +02:00
nessar 74dad8f079 feat: enhance CI/CD pipeline with publish stage and image handling 2026-08-17 14:18:15 +02:00
nessar cfd7807234 fix front 2026-08-17 14:18:15 +02:00
nessar f9c89759e5 fix: update Maven image to use alpine variant for backend tests 2026-08-17 14:18:15 +02:00
nessar 82f339e209 Refactor application structure to use WorkspaceService for state management
- Removed direct state management from components and centralized it in WorkspaceService.
- Updated ApartmentsPage, TenantsPage, LeasesPage, and DashboardPage to utilize WorkspaceService for data handling.
- Introduced SessionService to manage user session state and authentication.
- Simplified component templates to reflect new service-based architecture.
- Removed unused ConfigService and its tests.
- Added lease.html template for lease document generation.
- Created app.routes.spec.ts for route mapping tests.
2026-08-17 14:18:15 +02:00
nessar be1f680a62 fix: add angularCompilerOptions for strict template checking 2026-08-17 14:18:15 +02:00
nessar b23f081799 fix: update HTTP status codes for attachment size exceptions 2026-08-17 14:18:15 +02:00
nessar 3ca8514231 refactor: split tenant and lease page modules 2026-08-17 14:18:14 +02:00
nessar ebfc62a5e2 fix: update links in AGENTS.md for consistency 2026-08-17 14:18:14 +02:00
nessar bf6d8e6bb6 fix: validate tenant and lease contact details 2026-08-17 14:18:14 +02:00
nessar 8603b98714 feat: manage tenants and leases (#4) 2026-08-17 14:18:14 +02:00
nessar 26ab037084 feat: add brand mark component and dashboard page
- Introduced a new `BrandMark` component for branding purposes.
- Created a `DashboardPage` component with a responsive layout, including sections for user profile, apartment management, and API demo.
- Added styles for the dashboard page to enhance user experience.
- Implemented a settings page with theme preferences and session management features.
- Developed a sign-in page with branding and user-friendly design.
- Established a workspace navigation component for easy access to different sections of the application.
- Implemented an `ApartmentService` for managing apartment data with corresponding unit tests.
- Created a `ConfigService` for loading application configuration.
- Added a `ThemeService` to manage user theme preferences dynamically.
2026-08-17 14:18:14 +02:00
nessar 3e552cad90 feat: add launch and task configurations for debugging Spring Boot and Angular applications 2026-08-17 14:18:14 +02:00
nessar 1a70bcd126 feat(frontend): add mobile-first Material redesign (#17) 2026-08-17 14:18:14 +02:00
nessar fd3fc0123a feat: add ADR for Angular Material with user-selectable themes 2026-08-17 14:18:14 +02:00
nessar f94b961403 refactor: simplify OIDC provider configuration by using issuer-uri for auto-discovery 2026-08-17 14:18:14 +02:00
nessar 18ee6a963f fix: correct OIDC provider endpoint paths for voidAuth and add test properties
The hardcoded /protocol/openid-connect/* paths are Keycloak-specific.
voidAuth uses different OIDC endpoint paths discovered via .well-known.

- Add src/test/resources/application.properties with stub OIDC config so
  Spring context starts without hitting a real OIDC provider during tests
- Document in main application.properties that endpoint path suffixes must
  match the actual provider's URL structure
2026-08-17 14:18:14 +02:00
nessar 92d16eb2c1 fix: proxy OAuth2/login/logout paths through nginx to Spring BFF
nginx was only forwarding /api/* to the backend.
Added proxy locations for:
  - /oauth2/  (Spring Security login initiation)
  - /login/oauth2/  (OAuth2 authorization code callback)
  - /logout  (Spring Security logout + RP-initiated end-session)

Also revert incorrect /api prefix on the login redirect URL.
2026-08-17 14:18:14 +02:00
nessar be80422c99 fix: remove OAuthService from ApartmentService - cookies handle auth in BFF pattern 2026-08-17 14:18:14 +02:00