How thesabbirbd/omnidesk-bd works
Omnidesk BD is a local-first learning and engineering workspace. Learners bring in source material, develop structured study topics, and work through competency evidence, review, scheduling, and practical debugging; the app also provides a knowledge graph, analytics, and a persistent focus timer. The graph reflects documented product capabilities and sampled orchestration and validation code; some feature wiring is not shown in the excerpts, so uncertain internal call paths are omitted.
Main entry points: main.py FastAPI application · App.jsx Application routes · session.py Application database · service.py Provider cascade
Components 26
Learning workspace
- Application routes
frontend/src/App.jsx - API client
frontend/src/services/api.js - Dashboard
frontend/src/pages/Dashboard.jsx - Materials hub
frontend/src/pages/Materials.jsx - Mind map
frontend/src/pages/MindMap.jsx - Study engine
frontend/src/pages/StudyEngine.jsx - Focus timer
frontend/src/context/TimerContext.jsx
Content pipeline
- Materials API
backend/app/api/materials.py - Document processor
backend/app/services/document_processor.py - Format parsers
backend/app/ingestion/parsers - AI API
backend/app/api/ai.py - Provider cascade
backend/app/ai/service.py
Study and mastery
- Study spaces API
backend/app/api/study_spaces.py - Topics API
backend/app/api/topics.py - Competency gates
backend/app/services/competency_engine.py - Study scheduler
backend/app/services/scheduler.py - Knowledge graph API
backend/app/api/knowledge_graph.py - Knowledge graph builder
backend/app/services/knowledge_graph_service.py - Sandboxed DevOps lab
backend/app/api/lab.py - Debug journals API
backend/app/api/debug_journals.py - Analytics API
backend/app/api/analytics.py
Backend platform
- Application database
backend/app/db/session.py - FastAPI application
backend/main.py
Other components
- Learner
- Gemini service
- Ollama service
Connections 32
- Learner → Application routes: uses
- Application routes → API client: requests data
- Application routes → Dashboard: routes to
- Application routes → Materials hub: routes to
- Application routes → Mind map: routes to
- Application routes → Study engine: routes to
- Application routes → Focus timer: provides timer
- API client → FastAPI application: sends API requests
- FastAPI application → Materials API: dispatches
- FastAPI application → AI API: dispatches
- FastAPI application → Study spaces API: dispatches
- FastAPI application → Topics API: dispatches
- FastAPI application → Knowledge graph API: dispatches
- FastAPI application → Sandboxed DevOps lab: dispatches
- FastAPI application → Debug journals API: dispatches
- FastAPI application → Analytics API: dispatches
- Materials API → Document processor: processes material
- Document processor → Format parsers: parses formats
- AI API → Provider cascade: requests analysis
- Provider cascade → Gemini service: tries provider
- Provider cascade → Ollama service: tries provider
- Provider cascade → Application database: returns structured result
- Study spaces API → Application database: reads and writes
- Topics API → Application database: reads and writes
- Topics API → Competency gates: validates completion
- Competency gates → Application database: checks evidence and sessions
- Study scheduler → Application database: uses study records
- Knowledge graph API → Knowledge graph builder: builds topic graph
- Knowledge graph builder → Application database: reads related records
- Sandboxed DevOps lab → Debug journals API: records debugging
- Debug journals API → Application database: reads and writes
- Analytics API → Application database: reads activity