- Modular Architecture: Build custom modules for mind maps, kanban boards, meeting transcriptions
- Content Type System: Perfect for WorkContext, MindMapNode, TreeNode, KanbanCard as content types
- Workflow Engine: Automate the Mind Map β Tree β Kanban promotion flow
- GraphQL API: Built-in API for mobile apps or future integrations
- Admin Dashboard: Professional UI out of the box with customizable widgets
- Multi-tenancy: Future-proof if you want to support teams
- Responsive Themes: Works on desktop, tablet (iPad), and mobile (Fold Z6 browser)
- Real-time with SignalR: Built-in support for live transcript updates
- Deployment Flexibility: Self-host or Azure App Service
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Orchard Core CMS β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Custom β β Custom β β Custom β β
β β Modules β β Themes β β Workflows β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Compost Modules (Your Custom Code) β β
β β β’ Compost.Contexts β β
β β β’ Compost.MindMap β β
β β β’ Compost.Transcription β β
β β β’ Compost.Kanban β β
β β β’ Compost.Snippets β β
β β β’ Compost.Patterns β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Core Services Layer β
β β’ IContextManager β’ IPatternRecognition β
β β’ ITranscription β’ ICodeSnippetService β
β β’ IDecomposition β’ ISyncService β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Data Layer β
β β’ Cosmos DB (via Orchard's YesSql abstraction) β
β β’ Azure Blob Storage (meetings) β
β β’ Local SQLite (offline cache) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β External Services β
β β’ Azure Speech Services β’ Azure OpenAI β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Compost/
βββ src/
β βββ Compost.Web/ # Main Orchard Core application
β β βββ appsettings.json
β β βββ Startup.cs
β β βββ Program.cs
β β
β βββ Modules/ # Custom Orchard Modules
β β βββ Compost.Contexts/ # Context management module
β β β βββ Manifest.cs
β β β βββ Startup.cs
β β β βββ Models/
β β β βββ Controllers/
β β β βββ ViewModels/
β β β βββ Drivers/ # Content part drivers
β β β βββ Handlers/
β β β βββ Services/
β β β βββ Views/
β β β
β β βββ Compost.MindMap/ # Mind map visualization
β β β βββ Assets/
β β β β βββ js/mindmap.js # D3.js or Cytoscape.js
β β β β βββ css/mindmap.css
β β β βββ Models/
β β β βββ Controllers/
β β β β βββ MindMapController.cs
β β β βββ Views/
β β β βββ MindMap/
β β β βββ Index.cshtml
β β β
β β βββ Compost.Transcription/ # Meeting recording & transcription
β β β βββ Services/
β β β β βββ AudioRecordingService.cs
β β β β βββ TranscriptionService.cs
β β β βββ Controllers/
β β β β βββ MeetingController.cs
β β β βββ Hubs/ # SignalR for real-time
β β β β βββ TranscriptionHub.cs
β β β βββ Views/
β β β
β β βββ Compost.Kanban/ # Kanban board
β β β βββ Assets/
β β β β βββ js/kanban.js # Drag-drop board
β β β βββ Controllers/
β β β βββ Views/
β β β
β β βββ Compost.Snippets/ # Code snippet management
β β β βββ Services/
β β β β βββ SnippetSearchService.cs
β β β βββ Controllers/
β β β βββ Views/
β β β
β β βββ Compost.Patterns/ # Architectural patterns
β β βββ Services/
β β βββ Controllers/
β β βββ Views/
β β
β βββ Themes/ # Custom themes
β β βββ Compost.Theme/
β β βββ Manifest.cs
β β βββ wwwroot/
β β β βββ css/compost.css
β β β βββ js/compost.js
β β βββ Views/
β β βββ Layout.cshtml
β β
β βββ Compost.Core/ # Shared business logic (from original)
β βββ Models/
β βββ Interfaces/
β βββ Services/
β
βββ tests/
β βββ Compost.Tests/
{
"Name": "WorkContext",
"DisplayName": "Work Context",
"Parts": [
{ "Name": "TitlePart" },
{ "Name": "AutoroutePart" },
{ "Name": "CommonPart" },
{ "Name": "WorkContextPart" } // Custom part
]
}WorkContextPart (Custom Content Part):
- Repository information
- Testing steps
- Open questions
- Time tracking data
- Tags/categories
{
"Name": "MindMapNode",
"Parts": [
{ "Name": "TitlePart" },
{ "Name": "MarkdownBodyPart" },
{ "Name": "ContainedPart" }, // Part of a WorkContext
{ "Name": "MindMapNodePart" } // Custom: position, color, connections
]
}{
"Name": "TreeNode",
"Parts": [
{ "Name": "TitlePart" },
{ "Name": "MarkdownBodyPart" },
{ "Name": "TreeNodePart" } // Custom: criteria, dependencies
]
}{
"Name": "KanbanCard",
"Parts": [
{ "Name": "TitlePart" },
{ "Name": "MarkdownBodyPart" },
{ "Name": "KanbanCardPart" } // Custom: story points, status, checklist
]
}Built-in API for:
- Mobile app access (future)
- External integrations
- Headless CMS mode
Lucene/Elasticsearch integration for:
- Code snippet search
- Pattern search
- Full-text search across contexts
Store and manage:
- Meeting recordings
- Voice samples
- Screenshots/diagrams
Dashboard composition:
- Active context widget
- Time tracking widget
- Recent meetings widget
- Quick capture widget
Professional interface with:
- Content management
- User settings
- Module configuration
- Analytics
- Full featured experience
- Side-by-side panels
- Keyboard shortcuts
- Mouse/trackpad optimized
- Responsive layout
- Touch-optimized controls
- Gesture support
- Can pin as web app
- Stacked layout when folded
- Side-by-side when unfolded
- Touch gestures
- Optimized for screen size
- Install as "app"
- Offline support
- Push notifications
- App-like experience
- Orchard Core CMS 1.8+
- Razor Pages / MVC
- Vue.js or Alpine.js (for reactive components)
- D3.js / Cytoscape.js (mind map visualization)
- Sortable.js (drag-drop kanban)
- Prism.js (code syntax highlighting)
- SignalR (real-time transcription)
- ASP.NET Core 8.0
- YesSql (Orchard's document database abstraction over SQL/Cosmos)
- Azure Speech Services
- Azure OpenAI
- Azure Blob Storage
- Cosmos DB (via YesSql)
- SQL Server (alternative for dev)
- Blob Storage (audio recordings)
- IndexedDB (browser offline cache)
- Azure App Service
- Docker
- CDN for static assets
- Application Insights for monitoring