3.1 KiB
3.1 KiB
Mango.Nop Libraries
For library domain rules see:
.github/copilot-instructions.mdFor 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.Coreonly) — 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/README.md |
NopLogWriter — AyCode-to-nopCommerce log bridge |