Skip to content

docs: extraction boundaries for Product, Identity and Order - #87

Open
devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
devin/1789050239-extraction-boundaries
Open

devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
devin/1789050239-extraction-boundaries

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

Contract the three remaining bounded-context extractions (Product, Identity, Order) are executed against, with the Customer extraction as the reference implementation.

The substance is the boundary-cutting rules, since that's where the monolith's EF graph (Customer 1—* Order 1—* OrderDetail *—1 Product, Order *—1 ApplicationUser) has to be severed:

  • navigations become scalar IDs — Order.Customer → Order.CustomerId, OrderDetail.Product → OrderDetail.ProductId, Order.Cashier → Order.CashierId; Customer.Orders / Product.OrderDetails are deleted
  • intra-context relations (Product ↔ ProductCategory, Product.Parent/Children, Order ↔ OrderDetail) stay as EF navigations
  • enrichment is a best-effort HTTP call through the existing YARP routes on :5000, never a cross-database read; a failed lookup degrades the response instead of failing the request
  • side effects go over RabbitMQ (OrderPlacedEvent), not service-to-service calls

Plus a per-service file allow-list: own src/Services/<Name> folder, additive-only Shared.Contracts, own compose env vars — gateway, Shared.Infrastructure, other services' folders and anything the in-flight Customer PR touches are off-limits (wait for that merge and rebase rather than copying).

Link to Devin session: https://partner-workshops.devinenterprise.com/sessions/25839f55096f4d6187d729c0a19f29f9
Open in Devin Desktop: https://partner-workshops.devinenterprise.com/desktop/session/25839f55096f4d6187d729c0a19f29f9?variant=devin
Requested by: @DhrovS

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant