Refactored EKÁER declaration logic to allow one EkaerHistory to reference multiple source documents via a new EkaerHistoryMapping junction table. Removed ForeignKey from EkaerHistory and updated all usages to use the Mappings collection. Updated service, controller, SignalR, and client interfaces to operate by EkaerHistoryId. Adjusted grid UI to display all mapped source IDs. Added EkaerHistoryMapping entity and updated documentation, constants, and ToonDescription attributes accordingly. |
||
|---|---|---|
| .claude | ||
| .cr/personal/FavoritesList | ||
| .github | ||
| FruitBank.Common | ||
| FruitBank.Common.Server | ||
| FruitBankHybrid | ||
| FruitBankHybrid.Shared | ||
| FruitBankHybrid.Shared.Common | ||
| FruitBankHybrid.Shared.Tests | ||
| FruitBankHybrid.Web | ||
| FruitBankHybrid.Web.Client | ||
| docs | ||
| .gitignore | ||
| CLAUDE.md | ||
| FruitBankHybrid.sln | ||
| README.md | ||
| SqlSchemaCompare_Dev_to_Prod.scmp | ||
| test_toon_businessrule.csx | ||
| tmpclaude-bf6e-cwd | ||
README.md
FruitBankHybridApp
nopCommerce plugin for FruitBank, a fruit & vegetable wholesaler. Manages supplier inbound delivery (Shipping), outgoing orders (Order), warehouse weighing, and inventory stocktaking. Runs as Blazor Server, Blazor WASM, and MAUI Hybrid (Android/iOS/Windows).
nopCommerce 4.80.9 requires it
LLM Context
Domain rules and critical pitfalls live in a single file: .github/copilot-instructions.md
| Tool | Auto-loaded | Action needed |
|---|---|---|
| GitHub Copilot | ✅ copilot-instructions.md |
None |
| Claude Code | ✅ CLAUDE.md → references above |
None |
| Cursor / Windsurf | ✅ README.md |
Read copilot-instructions.md via @file |
Detailed docs: docs/ — GLOSSARY.md, ARCHITECTURE.md, CONVENTIONS.md. Domain model schema (TOON) lives in the plugin: NopCommerce.Common/4.70/Plugins/Nop.Plugin.Misc.AIPlugin/docs/SCHEMA.md
Solution Structure
| Project | TFM | Purpose | README |
|---|---|---|---|
FruitBank.Common |
net9.0 | Shared domain: entities, DTOs, interfaces, SignalR tags, measurement helpers | README |
FruitBank.Common.Server |
net9.0 | Server-side: SignalR hubs, broadcast service, logging, nopCommerce integration | README |
FruitBankHybrid.Shared |
net10.0 | Blazor UI: pages, grids, SignalR client, measurement service, layout | README |
FruitBankHybrid.Shared.Common |
net10.0 | Shared common library (placeholder) | README |
FruitBankHybrid |
net10.0‑android/ios/win | MAUI Hybrid app: Android, iOS, Windows | README |
FruitBankHybrid.Web |
net10.0 | Blazor Server host with SignalR hubs | README |
FruitBankHybrid.Web.Client |
net10.0 | Blazor WebAssembly client | README |
Test Projects
| Project | TFM | Purpose | README |
|---|---|---|---|
FruitBankHybrid.Shared.Tests |
net10.0 | Integration + serialization tests (SignalR, JSON, Toon, bunit) | README |
External Dependencies
All projects reference these via DLL (not ProjectReference). Full source is available in sibling directories:
| Repo | Path | Key Docs |
|---|---|---|
| AyCode.Core (net9.0) | ../../../Aycode/Source/AyCode.Core/ |
copilot-instructions, ARCHITECTURE |
| AyCode.Blazor (net10.0) | ../../../Aycode/Source/AyCode.Blazor/ |
copilot-instructions, MGGRID |
| Mango.Nop Libraries (net9.0) | ../NopCommerce.Common/4.70/Libraries/ |
copilot-instructions, ARCHITECTURE |
| FruitBank Plugin (net9.0) | ../NopCommerce.Common/4.70/Plugins/Nop.Plugin.Misc.AIPlugin/ |
README |