Compare commits

..

2 Commits

View File

@@ -170,7 +170,6 @@ graph TB
- **Purpose**: Orchestrate complete publishing workflows
- **Technology**: ASP.NET Core + Hangfire
- **Responsibilities**:
- Package creation from successful builds
- Coordinate document generation
- Manage cloud uploads
- Update help center articles
@@ -191,13 +190,15 @@ erDiagram
Packages {
int Id PK
string Name
string Title
string Version
string Description
int ProjectId FK
int SourceBuildId FK
json CloudStorageConfig
json HelpCenterConfig
json HelpCenterArticles
string Status
datetime PublishDate
datetime CreatedAt
datetime UpdatedAt
}
@@ -249,14 +250,15 @@ erDiagram
}
Projects ||--o{ Builds : "produces builds"
Builds ||--o| Packages : "creates package"
Projects ||--o{ Packages : "user creates packages for"
Builds ||--o{ Packages : "can be referenced by"
Packages ||--o{ Publications : "has publications"
```
#### Core Entities
```sql
-- Packages: Top-level finalized software releases
Packages (Id, Name, Version, Description, SourceBuildId, CloudStorageConfig, HelpCenterConfig, Status, CreatedAt, UpdatedAt)
-- Packages: User-defined software release configurations
Packages (Id, Title, Version, Description, ProjectId, SourceBuildId, CloudStorageConfig, HelpCenterArticles, Status, PublishDate, CreatedAt, UpdatedAt)
-- Projects from CruiseControl.NET
Projects (Id, Name, Description, CCNetProjectName, Status, CreatedAt, UpdatedAt)
@@ -483,12 +485,12 @@ sequenceDiagram
participant HF as Hangfire
participant SH as SignalR Hub
Note over User,UI: Package Creation Phase
User->>UI: Select Build & Create Package
UI->>GW: POST /api/packages/create-from-build
GW->>PUB: Create Package from Build
PUB->>SH: Package Created Notification
SH->>UI: Real-time Package Status
Note over User,UI: Package Management Phase
User->>UI: Create/Edit Package Configuration
UI->>GW: POST /api/packages
Note over UI: Package List View, Package Details Form
UI->>GW: GET /api/packages (List View)
UI->>GW: GET /api/packages/{id} (Details)
Note over User,UI: Publishing Phase
User->>UI: Select Package & Initiate Publishing
@@ -529,13 +531,13 @@ flowchart TD
subgraph "Core Data Model"
PROJ[Projects<br/>CC.NET Projects]
BUILDS[Builds<br/>From Projects]
PKG[Packages<br/>Finalized Releases]
PKG[Packages<br/>User-Defined Configs]
PUB_DATA[Publications<br/>Publishing History]
end
subgraph "Processing Layer"
DS[Document Service<br/>PDF Generator]
PUB[Publishing Service<br/>Package Creator & Orchestrator]
PUB[Publishing Service<br/>Workflow Orchestrator]
end
subgraph "Output Channels"
@@ -552,10 +554,10 @@ flowchart TD
PS --> PROJ
MS --> PROJ
PROJ --> BUILDS
BUILDS --> PKG
PKG --> PUB_DATA
UI --> PKG
PKG --> PROJ
PKG --> BUILDS
PKG --> PUB
PUB --> DS
PUB --> STOR
@@ -577,6 +579,19 @@ flowchart TD
class UI ui
```
## Frontend Views
### Package Management Interface
- **Package List View**: Display all packages with columns for Title, Project, Build, Status, Publish Date
- **Package Details/Create Form**:
- Title (user input)
- Project (dropdown from available projects)
- Build (dropdown from project's successful builds)
- Publish Date (date picker)
- Help Center Articles (multi-select/tags)
- Cloud Storage Configuration
- Status tracking
## Next Steps
1. Set up development environment with Docker Compose
@@ -584,5 +599,5 @@ flowchart TD
3. Implement core database models and Entity Framework setup
4. Build API Gateway with authentication
5. Develop individual services in parallel
6. Create React frontend with SignalR integration
6. Create React frontend with Package Management views and SignalR integration
7. Integration testing and deployment scripts