# resul4bdul/gardrop architecture

> Architecture diagram of the GitHub repository resul4bdul/gardrop, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/resul4bdul/gardrop
- Repository: https://github.com/resul4bdul/gardrop

## Overview

Gardrop is a multi-vendor clothing marketplace backend built as an ASP.NET Core modular monolith with PostgreSQL persistence. The intended buyer journey spans catalog discovery, coupon-aware checkout, payment, delivery, and post-purchase reviews; seller, courier, support, administration, notifications, and analytics are separate capabilities. The README says the backend foundation and persistence mappings exist while many application use cases and API features remain in progress. Edges below are limited to relationships visible in the supplied excerpts or SOURCE INDEX; unsampled integrations are not inferred.

Main entry points: [`backend/API/Background/RefundReconciliationWorker.cs`](https://github.com/resul4bdul/gardrop/blob/main/backend/API/Background/RefundReconciliationWorker.cs) (Refund reconciliation), [`backend/API/Composition/ReviewOrderEligibilityAdapter.cs`](https://github.com/resul4bdul/gardrop/blob/main/backend/API/Composition/ReviewOrderEligibilityAdapter.cs) (Review eligibility adapter), [`backend/Modules/Reviews/Infrastructure/ReviewService.cs`](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Reviews/Infrastructure/ReviewService.cs) (Product reviews), [`backend/Modules/Orders/Infrastructure/OrderCheckoutService.cs`](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Orders/Infrastructure/OrderCheckoutService.cs) (Orders)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["API host"]
  node_host["API host<br/>[Program.cs]"]
end

subgraph group_commerce["Marketplace commerce"]
  node_catalog["Product catalog"]
  node_coupon["Coupon checkout"]
  node_orders["Orders"]
  node_stock["Stock reservations"]
  node_ownership["Order ownership query"]
end

subgraph group_operations["Marketplace operations"]
  node_delivery["Courier tasks"]
  node_reviews["Product reviews<br/>[ReviewService.cs]"]
  node_stores["Seller stores"]
  node_support["Support tickets"]
  node_notifications["Notifications"]
  node_analytics["Analytics"]
  node_admin["Administration<br/>[AdminAuditQuery.cs]"]
end

subgraph group_finance["Finance"]
  node_payments["Payments and ledger<br/>[PaymentService.cs]"]
  node_payouts["Seller payouts"]
  node_refundworker["Refund reconciliation"]
end

subgraph group_identity["Identity and trust"]
  node_auth["User authentication"]
  node_reviewadapter["Review eligibility adapter"]
end

node_reviewuser(("Buyer"))

node_reviews -->|"checks eligibility"| node_reviewadapter
node_reviewadapter -->|"delegates query"| node_ownership
node_refundworker -->|"reconciles refunds"| node_payments
node_refundworker -->|"completes cancellations"| node_orders

click node_host "https://github.com/resul4bdul/gardrop/blob/main/backend/API/Program.cs"
click node_catalog "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Catalog/Infrastructure/CatalogQueryService.cs"
click node_coupon "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Coupons/Infrastructure/CouponCheckoutService.cs"
click node_orders "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Orders/Infrastructure/OrderCheckoutService.cs"
click node_stock "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Catalog/Infrastructure/StockReservationService.cs"
click node_delivery "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Delivery/Infrastructure/CourierTaskService.cs"
click node_reviews "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Reviews/Infrastructure/ReviewService.cs"
click node_stores "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Stores/Infrastructure/StoreApplicationService.cs"
click node_support "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Support/Infrastructure/SupportTicketService.cs"
click node_notifications "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Notifications/Infrastructure/NotificationOutboxProcessor.cs"
click node_analytics "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Analytics/Infrastructure/AnalyticsQueryService.cs"
click node_admin "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Admin/Infrastructure/AdminAuditQuery.cs"
click node_payments "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Payments/Infrastructure/PaymentService.cs"
click node_payouts "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Payments/Infrastructure/SellerPayoutService.cs"
click node_auth "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Users/Infrastructure/Authentication/UserAuthenticationService.cs"
click node_reviewadapter "https://github.com/resul4bdul/gardrop/blob/main/backend/API/Composition/ReviewOrderEligibilityAdapter.cs"
click node_ownership "https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Orders/Infrastructure/OrderOwnershipQuery.cs"
click node_refundworker "https://github.com/resul4bdul/gardrop/blob/main/backend/API/Background/RefundReconciliationWorker.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_host toneBlue
class node_catalog,node_coupon,node_orders,node_stock,node_ownership toneAmber
class node_delivery,node_reviews,node_stores,node_support,node_notifications,node_analytics,node_admin toneMint
class node_payments,node_payouts,node_refundworker toneRose
class node_auth,node_reviewadapter,node_reviewuser toneIndigo
```

## Components

### API host

- [API host](https://github.com/resul4bdul/gardrop/blob/main/backend/API/Program.cs): `backend/API/Program.cs`

### Marketplace commerce

- [Product catalog](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Catalog/Infrastructure/CatalogQueryService.cs): `backend/Modules/Catalog/Infrastructure/CatalogQueryService.cs`
- [Coupon checkout](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Coupons/Infrastructure/CouponCheckoutService.cs): `backend/Modules/Coupons/Infrastructure/CouponCheckoutService.cs`
- [Orders](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Orders/Infrastructure/OrderCheckoutService.cs): `backend/Modules/Orders/Infrastructure/OrderCheckoutService.cs`
- [Stock reservations](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Catalog/Infrastructure/StockReservationService.cs): `backend/Modules/Catalog/Infrastructure/StockReservationService.cs`
- [Order ownership query](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Orders/Infrastructure/OrderOwnershipQuery.cs): `backend/Modules/Orders/Infrastructure/OrderOwnershipQuery.cs`

### Marketplace operations

- [Courier tasks](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Delivery/Infrastructure/CourierTaskService.cs): `backend/Modules/Delivery/Infrastructure/CourierTaskService.cs`
- [Product reviews](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Reviews/Infrastructure/ReviewService.cs): `backend/Modules/Reviews/Infrastructure/ReviewService.cs`
- [Seller stores](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Stores/Infrastructure/StoreApplicationService.cs): `backend/Modules/Stores/Infrastructure/StoreApplicationService.cs`
- [Support tickets](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Support/Infrastructure/SupportTicketService.cs): `backend/Modules/Support/Infrastructure/SupportTicketService.cs`
- [Notifications](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Notifications/Infrastructure/NotificationOutboxProcessor.cs): `backend/Modules/Notifications/Infrastructure/NotificationOutboxProcessor.cs`
- [Analytics](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Analytics/Infrastructure/AnalyticsQueryService.cs): `backend/Modules/Analytics/Infrastructure/AnalyticsQueryService.cs`
- [Administration](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Admin/Infrastructure/AdminAuditQuery.cs): `backend/Modules/Admin/Infrastructure/AdminAuditQuery.cs`

### Finance

- [Payments and ledger](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Payments/Infrastructure/PaymentService.cs): `backend/Modules/Payments/Infrastructure/PaymentService.cs`
- [Seller payouts](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Payments/Infrastructure/SellerPayoutService.cs): `backend/Modules/Payments/Infrastructure/SellerPayoutService.cs`
- [Refund reconciliation](https://github.com/resul4bdul/gardrop/blob/main/backend/API/Background/RefundReconciliationWorker.cs): `backend/API/Background/RefundReconciliationWorker.cs`

### Identity and trust

- [User authentication](https://github.com/resul4bdul/gardrop/blob/main/backend/Modules/Users/Infrastructure/Authentication/UserAuthenticationService.cs): `backend/Modules/Users/Infrastructure/Authentication/UserAuthenticationService.cs`
- [Review eligibility adapter](https://github.com/resul4bdul/gardrop/blob/main/backend/API/Composition/ReviewOrderEligibilityAdapter.cs): `backend/API/Composition/ReviewOrderEligibilityAdapter.cs`

### Other components

- **Buyer**

## Connections

- Product reviews → Review eligibility adapter: checks eligibility (evidence: `backend/Modules/Reviews/Infrastructure/ReviewService.cs`)
- Review eligibility adapter → Order ownership query: delegates query (evidence: `backend/API/Composition/ReviewOrderEligibilityAdapter.cs`)
- Refund reconciliation → Payments and ledger: reconciles refunds (evidence: `backend/API/Background/RefundReconciliationWorker.cs`)
- Refund reconciliation → Orders: completes cancellations (evidence: `backend/API/Background/RefundReconciliationWorker.cs`)
