Mango.Nop.Libraries/README.md

3.1 KiB

Mango.Nop Libraries

For library domain rules see: .github/copilot-instructions.md For detailed docs see: docs/

Shared nopCommerce extension libraries providing domain entities, DTOs, data access, and service base classes. All target net9.0 (nopCommerce 4.80.9 requirement).

Projects

Project Purpose Key Types
Mango.Nop.Core Domain entities, DTOs, interfaces, nopCommerce entity mirrors (zero nopCommerce runtime dep) MgEntityBase, ModelDtoBase<T>, MgOrderDto<,>, MgOrderItemDto<>, MgProductDto, CustomerDto, MgGenericAttributeDto, MgStockTaking<>, GenericAttributeExtensions
Mango.Nop.Data Data access layer — repository base classes, DB context, transactions MgDbTableBase<T>, MgDtoDbTableBase<,>, MgDbContextBase, MgDalBase<T>
Mango.Nop.Services Service base classes — background services, session, events, locking, logging MgBackgroundServiceBase, MgSessionServiceBase<T>, MgEventConsumerBase, MgLockServiceBase, NopLogWriter

Dependency Graph

See docs/ARCHITECTURE.md for full dependency graph, project roles, DTO mapping strategies, and transaction patterns.

AyCode.Core (DLL references)
    ↑
Mango.Nop.Core (net9.0, zero nopCommerce runtime dependency)
    ↑
Mango.Nop.Data (net9.0) → Nop.Core, Nop.Data
    ↑
Mango.Nop.Services (net9.0) → Nop.Core, Nop.Data, Nop.Services, Nop.Web.Framework

Reference Modes

  • Full stack (ProjectReference, all 3 libraries) — for nopCommerce plugins that need entity access, data layer, and services.
  • Types only (DLL reference, Mango.Nop.Core only) — for projects that only need DTOs, entities, and interfaces without the nopCommerce runtime dependency.

Documentation Map

File Purpose
.github/copilot-instructions.md Domain rules — single source of truth for all conventions
docs/ARCHITECTURE.md Dependency graph, project roles, DTO strategies, transaction patterns, logging architecture
docs/CONVENTIONS.md Naming, patterns, project boundaries, AyCode integration points
docs/GLOSSARY.md Term definitions — entity/DTO system, data access, services, AyCode types
Mango.Nop.Core/README.md Core project overview — entity hierarchy, loggers, extensions, models
Mango.Nop.Core/docs/DTOS.md DTO system — two mapping strategies, all DTO types, GenericAttribute access
Mango.Nop.Core/docs/NOP_DEPENDENCIES.md NopDependencies pattern — mirror copies, namespace rules, file list
Mango.Nop.Data/README.md Data project overview — repository and context hierarchy, interfaces
Mango.Nop.Data/docs/REPOSITORIES.md MgDbTableBase, MgDtoDbTableBase — CRUD hooks, timestamps, delete rules
Mango.Nop.Data/docs/TRANSACTIONS.md MgDbContextBase — 4 transaction methods, lock strategy, callback contract
Mango.Nop.Services/README.md Services project overview
Mango.Nop.Services/docs/SERVICES.md MgBackgroundServiceBase, MgSessionServiceBase, MgEventConsumerBase, MgLockServiceBase
Mango.Nop.Services/docs/LOGGING_BRIDGE.md NopLogWriter — AyCode-to-nopCommerce log bridge