Set up repository with legacy .NET Framework 4.8 source (OLD/), new .NET 10 Blazor solution (NEW/), OpenSpec specifications, documentation, and project configuration.
8.1 KiB
Component Map
This document maps source code locations to their corresponding documentation folders. Use this to determine where documentation should live.
Project Structure
This is a migration project with two main code areas:
JdeScopingTool/
├── OLD/ # Legacy .NET Framework 4.8 (read-only reference)
├── NEW/ # New .NET 10 solution (build target)
├── SPECS/ # OpenSpec specifications
└── DOCUMENTATION/ # Project documentation
Source to Documentation Mapping
Legacy Code (OLD/)
| Source Path | Documentation Folder |
|---|---|
OLD/WebInterface/ |
LegacyReference/WebInterface/ |
OLD/WebInterface/Controllers/ |
LegacyReference/WebInterface/Controllers.md |
OLD/WebInterface/Hubs/ |
LegacyReference/WebInterface/SignalR.md |
OLD/WorkerService/ |
LegacyReference/WorkerService/ |
OLD/WorkerService/Process/ |
LegacyReference/WorkerService/Processing.md |
OLD/DataModel/ (Commons) |
LegacyReference/DataModel/ |
OLD/DataModel/Process/JDE*.cs |
DataSync/JDE.md |
OLD/DataModel/Process/CMS*.cs |
DataSync/CMS.md |
OLD/DataModel/Process/LotFinderDB*.cs |
Database/LocalCache.md |
OLD/DataModel/Models/ |
Database/Entities.md |
OLD/Database/ |
Database/Schema.md |
New Code (NEW/)
| Source Path | Documentation Folder |
|---|---|
NEW/src/ |
Component-specific folders |
NEW/src/Web/Controllers/ |
API/Endpoints.md |
NEW/src/Web/Hubs/ |
API/SignalR.md |
NEW/src/Web/Client/ (Blazor) |
WebClient/ |
NEW/src/Services/ |
BackgroundServices/ |
NEW/src/Core/Models/ |
Database/Entities.md |
NEW/src/Core/Interfaces/ |
Document in implementing component |
NEW/src/Infrastructure/ |
Component-specific folders |
NEW/appsettings*.json |
Configuration/ |
NEW/tests/ |
Document in corresponding component |
Documentation Folder Structure
DOCUMENTATION/
├── Instructions/ # This folder - documentation guidelines
├── GettingStarted/ # Onboarding, prerequisites, architecture overview
├── LegacyReference/ # Documentation of the OLD codebase for migration reference
│ ├── WebInterface/ # ASP.NET MVC web application
│ ├── WorkerService/ # Windows service (Topshelf)
│ └── DataModel/ # Shared library (Commons.csproj)
├── Search/ # Search functionality
├── DataSync/ # JDE/CMS data synchronization
├── Database/ # SQL Server cache, entities, schema
├── API/ # REST endpoints, SignalR
├── WebClient/ # Blazor WASM UI
├── Export/ # Excel generation
├── Authentication/ # LDAP authentication
├── BackgroundServices/ # Background processing
├── Configuration/ # appsettings, connection strings
└── Operations/ # Deployment, monitoring
Component Details
Search/
Documents the search functionality.
Source paths (Legacy):
OLD/DataModel/Models/Search*.cs- Search modelsOLD/DataModel/ViewModels/Search*.cs- Search view modelsOLD/WebInterface/Controllers/SearchController.cs- Search APIOLD/WorkerService/Process/WorkProcessor.cs- Search execution
Source paths (New):
NEW/src/Core/Models/Search*.cs- Search modelsNEW/src/Web/Controllers/SearchController.cs- Search APINEW/src/Services/SearchProcessor.cs- Search execution
Typical files:
Overview.md- Search system architectureCriteria.md- Search criteria model and optionsExecution.md- How searches are processedResults.md- Result storage and retrieval
DataSync/
Documents data synchronization from enterprise systems.
Source paths (Legacy):
OLD/DataModel/Process/JDE*.cs- JDE Oracle queriesOLD/DataModel/Process/CMS*.cs- CMS Sybase queriesOLD/WorkerService/Process/UpdateProcessor.cs- Sync orchestrationOLD/WorkerService/dsconfig/*.json- Data source configs
Source paths (New):
NEW/src/Infrastructure/DataSync/- Data sync servicesNEW/src/Infrastructure/DataSync/JDE/- JDE adapterNEW/src/Infrastructure/DataSync/CMS/- CMS adapter
Typical files:
Overview.md- Data sync architectureJDE.md- JD Edwards (Oracle) integrationCMS.md- CMS (Sybase) integrationScheduling.md- Mass/daily/hourly sync schedulesConfiguration.md- Data source configuration
Database/
Documents the SQL Server cache database.
Source paths (Legacy):
OLD/DataModel/Process/LotFinderDB*.cs- SQL Server accessOLD/DataModel/Models/- Entity definitionsOLD/Database/- SQL Server database project
Source paths (New):
NEW/src/Infrastructure/Persistence/- EF Core implementationNEW/src/Core/Models/- Entity definitions
Typical files:
Overview.md- Database architectureEntities.md- Entity documentationLocalCache.md- Cached data tablesSchema.md- Database schema reference
API/
Documents the REST API and real-time communication.
Source paths (Legacy):
OLD/WebInterface/Controllers/- MVC controllersOLD/WebInterface/Hubs/StatusHub.cs- SignalR hub
Source paths (New):
NEW/src/Web/Controllers/- API controllersNEW/src/Web/Hubs/- SignalR hubs
Typical files:
Overview.md- API architectureEndpoints.md- Endpoint referenceSignalR.md- Real-time status updatesAuthentication.md- JWT/LDAP auth
WebClient/
Documents the Blazor WASM frontend.
Source paths (New):
NEW/src/Web/Client/Pages/- Page componentsNEW/src/Web/Client/Components/- Reusable componentsNEW/src/Web/Client/Services/- Client services
Typical files:
Overview.md- Frontend architectureComponents.md- Component documentationSearchUI.md- Search interfaceState.md- State management
Export/
Documents Excel export functionality.
Source paths (Legacy):
OLD/WorkerService/Process/ExcelWriter.cs- EPPlus generationOLD/WorkerService/Templates/QueryTemplate.cs- Query templates
Source paths (New):
NEW/src/Services/ExcelExporter.cs- Excel generation
Typical files:
Overview.md- Export architectureExcel.md- Excel generation detailsTemplates.md- Export templates
Authentication/
Documents LDAP authentication.
Source paths (Legacy):
OLD/WebInterface/Controllers/AccountController.cs- Login/logoutOLD/DataModel/Config.cs- LDAP configuration
Source paths (New):
NEW/src/Infrastructure/Authentication/- Auth services
Typical files:
Overview.md- Authentication architectureLDAP.md- LDAP integration detailsConfiguration.md- Auth configuration
BackgroundServices/
Documents background processing.
Source paths (Legacy):
OLD/WorkerService/- Topshelf Windows serviceOLD/WorkerService/Process/WorkProcessor.cs- Main work loop
Source paths (New):
NEW/src/Services/- BackgroundService implementations
Typical files:
Overview.md- Background service architectureSearchProcessor.md- Search queue processingDataSyncService.md- Data synchronization service
LegacyReference/
Documents the legacy codebase for migration reference.
Source paths:
- All files under
OLD/
Typical files:
WebInterface/Overview.md- ASP.NET MVC structureWorkerService/Overview.md- Topshelf service structureDataModel/Overview.md- Commons library structureMigrationNotes.md- Patterns to preserve/change
Ambiguous Cases
When code spans multiple components, use these guidelines:
| Code Type | Document In |
|---|---|
| SignalR hubs | API/SignalR.md |
| SignalR clients | WebClient/SignalR.md |
| Shared DTOs | Component that "owns" the concept |
| Cross-cutting services | Most relevant component |
| Legacy patterns | LegacyReference/ with cross-references |
Adding New Components
When adding a new system component:
- Create a new folder under
DOCUMENTATION/ - Add at minimum
Overview.md - Update this mapping table
- Update GeneratingDocs.md if new patterns emerge