- Introduced `.github/copilot-instructions.md` as the single source of truth for domain rules, conventions, and pitfalls in each solution. - Added `CLAUDE.md` to guide Claude to read domain rules, glossary, and README before code generation. - Updated all solution and project `README.md` files to document project purpose, structure, key files, and LLM context (Copilot/Claude/Cursor). - Added or revised `docs/ARCHITECTURE.md`, `docs/CONVENTIONS.md`, and `docs/GLOSSARY.md` to clarify dependency graphs, naming, patterns, and terminology. - For FruitBankHybridApp, added `docs/SCHEMA.md` (Toon format) and expanded the glossary with business/measurement terms and common traps. - Updated all subfolder READMEs to list key files, conventions, and LLM maintenance notes. - Ensured all documentation is cross-referenced, up-to-date, and includes explicit instructions for LLMs to keep docs in sync with code and avoid suggesting removal/rollback as a solution. - Standardized documentation and onboarding for maintainability and LLM/code quality across all solutions. |
||
|---|---|---|
| .. | ||
| Databases | ||
| Dtos | ||
| Entities | ||
| Enums | ||
| Helpers | ||
| Interfaces | ||
| Loggers | ||
| Models | ||
| Services | ||
| SignalRs | ||
| DocumentType.cs | ||
| FruitBank.Common.csproj | ||
| FruitBankConstClient.cs | ||
| README.md | ||
README.md
FruitBank.Common
Shared domain library for the FruitBank nopCommerce plugin. Contains entities, DTOs, interfaces, measurement helpers, SignalR tags, and constants for fruit & vegetable wholesale operations.
Folder Structure
| Folder | Purpose |
|---|---|
Databases/ |
Local in-memory database abstraction for offline/cached data |
Dtos/ |
Binary-serializable DTOs for Order, OrderItem, Product, StockQuantityHistory |
Entities/ |
Domain entities: Shipping, Partner, measurement pallets, inventory |
Enums/ |
MeasuringStatus and DocumentType enums |
Helpers/ |
Measurement aggregation utilities |
Interfaces/ |
SignalR endpoint contracts, measurement traits, entity interfaces |
Loggers/ |
SignalR client log writer |
Models/ |
Authentication state, measurement view models |
Services/ |
Measurement service base, credential persistence |
SignalRs/ |
SignalR method tags (numeric constants) |
Key Files (Root)
FruitBankConstClient.cs— Global constants: BaseUrl, SignalR hubs, database table names, email templates, system settings.DocumentType.cs— Enum: ShippingDocument, OrderConfirmation, Invoice.
Key Domain Concepts
- Shipping = INBOUND (supplier → warehouse), Order = OUTBOUND (warehouse → customer)
- "Pallet" = measurement record, always created even for non-measurable products
- NetWeight = GrossWeight − PalletWeight − (TrayQuantity × TareWeight)
- See
docs/GLOSSARY.mdfor full terminology
LLM Maintenance: If you modify code in this folder, update this README to reflect the changes. If you notice the README content does not match the current code, automatically update the README to match the code.