Skip to content

Repository files navigation

insurance-cap-java

This application was generated by Claude Fable (Max) from these specifications.

Insurance app implementing the published scenarios of the sibling specs-insurance repo (symlinked at specs/ — run scripts/link-specs.sh after cloning). Built with SAP CAP Java 5 on Spring Boot 4; see ARCHITECTURE.md for the stack and conventions.

Only [published] scenarios are implemented. Scenarios marked [proposed] are intentionally absent; each service and test carries a comment naming its spec file, and test @DisplayNames quote the scenario titles.

Build & test

Prerequisites: JDK 25. The Maven wrapper provisions Maven 3.9.16; the build installs Node.js and @sap/cds-dk project-locally for the CDS compile step.

./mvnw verify

Run

./mvnw -pl srv spring-boot:run

OData V4 services (basic auth with the mock users below):

  • /odata/v4/quotesrequestAutoQuote, requestHomeQuote
  • /odata/v4/policiesbindPolicy, requestCancellation, addVehicle, issueCancellationNotice
  • /odata/v4/claimsreportAccident, reportAccidentForInsured, reportWaterDamage, recordDamageEstimate, recordRepairEstimate, authorizeRepair

Mock users (password = user name): prospect, insured, agent, adjuster.

The database is in-memory H2, migrated by Liquibase from the CDS-generated DDL plus the rating-table CSVs under db/data/. Nightly jobs (autopay + 3-day retries, elapsed cancellation notices, renewal offers) run at 01:10 in the operating timezone (insurance.time-zone, default America/New_York).

Spec → code map

Spec Implementation Tests
billing/collect-premium.feature.md billing/BillingManager CollectPremiumTest
billing/refund-unearned-premium.feature.md policy/CancellationManager + domain/ProRata RefundUnearnedPremiumTest
policy/auto-policy/quote-policy.feature.md quoting/QuotingManager QuoteAutoPolicyTest
policy/auto-policy/bind-policy.feature.md policy/BindingManager BindAutoPolicyTest
policy/auto-policy/cancel-policy.feature.md policy/CancellationManager CancelAutoPolicyTest
policy/auto-policy/endorse-policy.feature.md policy/EndorsementManager EndorseAutoPolicyTest
policy/auto-policy/renew-policy.feature.md policy/RenewalManager RenewAutoPolicyTest
policy/home-policy/quote-homeowners-policy.feature.md quoting/QuotingManager QuoteHomeownersPolicyTest
claims/auto-accidents/record-car-accident.feature.md claims/FnolManager RecordCarAccidentTest
claims/auto-accidents/assign-adjuster.feature.md claims/AdjusterAssignmentManager AssignAdjusterTest
claims/auto-accidents/settle-collision-claim.feature.md claims/SettlementManager SettleCollisionClaimTest
claims/home-claims/record-water-damage-claim.feature.md claims/FnolManager RecordWaterDamageClaimTest

Boat and motorcycle quoting specs contain only [proposed] scenarios, so no code exists for them yet.

Outbound email, text, and payment-gateway calls go through ports with in-memory recording adapters (com.acme.insurance.ports / com.acme.insurance.adapters); no real providers are wired.

About

Spec-driven Example of an insurance company using SAP CAP Java framework.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages