Add social media management component architecture
Publish Docs / publish-docs (push) Successful in 30s Details

This commit is contained in:
Mike Kell 2026-03-30 07:30:50 -04:00
parent f6592a497c
commit 29c6f724b3
3 changed files with 123 additions and 1 deletions

View File

@ -0,0 +1,77 @@
@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Component.puml
LAYOUT_WITH_LEGEND()
title Social Media Management - Component Diagram
Person(owner, "Business Owner", "Approves campaigns, reviews messaging, and oversees brand presence")
Person(staff, "Operations Staff", "Creates content, schedules posts, and manages publishing workflows")
ContainerDb(txdb, "Transaction Database", "Database", "Stores campaigns, content records, schedules, engagement metrics, and workflow history")
Container(auth, "Authentication Service", "Shared Service", "Provides authentication and identity controls")
Container(datarepo, "Shared Data Repository", "Shared Service", "Provides access to shared business entities and reference data")
Container(api, "API Orchestrator", "API / Integration Service", "Coordinates internal and external integrations")
Container(audit, "Audit & Logging Service", "Observability Service", "Captures publishing, approval, and compliance-relevant events")
Container(notify, "Notification Service", "Shared Service", "Generates alerts, reminders, approvals, and exception notifications")
System_Ext(facebook, "Facebook", "@kellcreation", "Social publishing platform")
System_Ext(instagram, "Instagram", "@kellcreations", "Social publishing platform")
System_Ext(xsocial, "X", "@kellcreations", "Social publishing platform")
Container_Boundary(social_app, "Social Media Management") {
Component(ui, "Social Media Management UI", "Web UI", "Provides campaign views, scheduling controls, approval status, and engagement dashboards")
Component(campaign_service, "Campaign Management Service", "Application Service", "Manages campaign plans, themes, objectives, and lifecycle state")
Component(content_service, "Content Planning Service", "Application Service", "Maintains post drafts, captions, hashtags, creative associations, and publishing metadata")
Component(schedule_service, "Publishing Schedule Service", "Application Service", "Controls publish timing, queue state, cadence, and readiness")
Component(approval_service, "Approval Workflow Service", "Application Service", "Manages review, approval, rejection, and exception handling for publishable content")
Component(publish_service, "Social Publishing Service", "Application Service", "Publishes approved content to external social platforms")
Component(engagement_service, "Engagement Tracking Service", "Application Service", "Collects and analyzes post status, reach, and engagement metrics")
Component(reporting_service, "Social Reporting Service", "Application Service", "Produces campaign performance, schedule status, and exception reports")
Component(repository, "Social Media Repository", "Data Access Component", "Reads and writes social-media-related data")
}
Rel(owner, ui, "Uses")
Rel(staff, ui, "Uses")
Rel(ui, campaign_service, "Sends requests to")
Rel(ui, content_service, "Sends requests to")
Rel(ui, schedule_service, "Sends requests to")
Rel(ui, approval_service, "Sends requests to")
Rel(ui, publish_service, "Sends requests to")
Rel(ui, engagement_service, "Sends requests to")
Rel(ui, reporting_service, "Sends requests to")
Rel(campaign_service, repository, "Reads from and writes to")
Rel(content_service, repository, "Reads from and writes to")
Rel(schedule_service, repository, "Reads from and writes to")
Rel(approval_service, repository, "Reads from and writes to")
Rel(publish_service, repository, "Reads from and writes to")
Rel(engagement_service, repository, "Reads from and writes to")
Rel(reporting_service, repository, "Reads from")
Rel(repository, txdb, "Reads from and writes to")
Rel(campaign_service, datarepo, "Uses shared business data from")
Rel(content_service, datarepo, "Uses shared business data from")
Rel(schedule_service, datarepo, "Uses shared business data from")
Rel(approval_service, datarepo, "Uses shared business data from")
Rel(ui, auth, "Authenticates through")
Rel(approval_service, notify, "Triggers approval and exception notifications through")
Rel(publish_service, api, "Publishes external platform events through")
Rel(engagement_service, api, "Receives external engagement data through")
Rel(reporting_service, api, "Sends reporting outputs through")
Rel(publish_service, facebook, "Publishes content to")
Rel(publish_service, instagram, "Publishes content to")
Rel(publish_service, xsocial, "Publishes content to")
Rel(campaign_service, audit, "Logs campaign changes to")
Rel(content_service, audit, "Logs content changes to")
Rel(schedule_service, audit, "Logs scheduling activity to")
Rel(approval_service, audit, "Logs approval decisions to")
Rel(publish_service, audit, "Logs publishing activity to")
Rel(engagement_service, audit, "Logs engagement collection activity to")
@enduml

View File

@ -0,0 +1,44 @@
# Social Media Management Components
This diagram shows the major internal components of the Social Media Management application.
## Purpose
This view breaks the Social Media Management application into its primary campaign, content planning, scheduling, approval, publishing, engagement, reporting, and data-access responsibilities.
## Diagram Source
The source for this diagram is maintained as architecture code in:
`architecture/workspace/components-social-media-management.puml`
## Included Components
- Social Media Management UI
- Campaign Management Service
- Content Planning Service
- Publishing Schedule Service
- Approval Workflow Service
- Social Publishing Service
- Engagement Tracking Service
- Social Reporting Service
- Social Media Repository
## Connected Shared Services
- Transaction Database
- Authentication Service
- Shared Data Repository
- API Orchestrator
- Audit & Logging Service
- Notification Service
## Connected External Systems
- Facebook `@kellcreation`
- Instagram `@kellcreations`
- X `@kellcreations`
## Notes
This component view establishes the detailed social publishing and campaign-management architecture for the Kell Creations platform. Future refinements should align this model with campaign lifecycle states, approval logic, scheduling rules, content associations, engagement collection, and operational exception handling across the social media workflow.

View File

@ -45,7 +45,8 @@ nav:
- Components: - Components:
- Inventory Components: "architecture/components/inventory.md" - Inventory Components: "architecture/components/inventory.md"
- Craft Manufacturing / MRP Components: "architecture/components/mrp.md" - Craft Manufacturing / MRP Components: "architecture/components/mrp.md"
- WordPress Management Components: "architecture/components/wordpress-management.md" - WordPress Management Components: "architecture/components/wordpress-management.md"
- Social Media Management Components: "architecture/components/social-media-management.md"
- Deployment: - Deployment:
- Production Deployment: "architecture/deployment/production.md" - Production Deployment: "architecture/deployment/production.md"
- Dynamic: - Dynamic: