How soofibd/personal-dashboard works
Personal Dashboard is a self-hosted Rails workspace whose main workflow is a signed-in user entering the hub and using finance, notes, learning, training, or AI capabilities. Finance handles accounts, transactions, budgets, and analysis; notes provide Markdown search and links; learning and gym track plans and activity. AI grounds proposals in user-scoped workspace data and requires approval for changes. ChartDB is a separate browser-based schema editor, while PDF extraction runs through a private worker. Some domain links are documented in the README; unsampled implementation details are not inferred.
Main entry points: home_controller.rb Workspace hub · finance_tool.rb Workspace data tools · editor-page.tsx Schema editor · notes_controller.rb Notes workspace
Components 22
Workspace and access
- Workspace hub
app/controllers/home_controller.rb - Authentication and roles
app/controllers/sessions_controller.rb
Personal workspace
- Finance management
finance_module/app/controllers/personal_finance - Finance records
finance_module/app/models/personal_finance - Notes workspace
notes_module/app/controllers/notes/notes_controller.rb - Notes and links
notes_module/app/models/notes/note.rb - Markdown editor
frontend/md-editor/src/editor/WorkspaceApp.tsx - Learning tracker
learning_module/app/controllers/learning/workspace_controller.rb - Training tracker
gym_module/app/controllers/personal_gym
AI workflows
- AI conversations
app/controllers/ai_chats_controller.rb - Assistant orchestration
app/services/ai_assistant_service.rb - Workspace data tools
app/tools/finance_tool.rb - Action review and execution
app/controllers/ai_actions_controller.rb - AI conversations and actions
app/models/ai_action.rb
Document processing
- PDF conversion workflow
finance_module/app/controllers/personal_finance/document_conversions_controller.rb - PDF worker client
app/services/pdf_conversion_client.rb - Private PDF worker
pdf_worker/app.py
Database design
- Schema editor
modules/chartdb/src/pages/editor-page/editor-page.tsx - Browser diagram storage
modules/chartdb/src/context/storage-context/storage-provider.tsx - SQL and DBML import
modules/chartdb/src/dialogs/common/import-database/import-database.tsx - Diagram export
modules/chartdb/src/dialogs/export-sql-dialog/export-sql-dialog.tsx
Other components
- Signed-in user
Connections 25
- Signed-in user → Authentication and roles: signs in
- Authentication and roles → Workspace hub: opens workspace
- Workspace hub → Finance management: opens module
- Workspace hub → Notes workspace: opens module
- Workspace hub → Learning tracker: opens module
- Workspace hub → Training tracker: opens module
- Finance management → Finance records: manages records
- Notes workspace → Notes and links: stores notes
- Markdown editor → Notes workspace: edits Markdown
- Workspace hub → AI conversations: opens assistant
- AI conversations → Assistant orchestration: requests assistance
app/services/ai_assistant_service.rb - Assistant orchestration → Workspace data tools: uses scoped data
- Workspace data tools → Finance management: reads finance context
- Workspace data tools → Notes workspace: reads notes context
- Workspace data tools → Learning tracker: reads learning context
- Workspace data tools → Training tracker: reads training context
- Assistant orchestration → Action review and execution: proposes changes
- Action review and execution → AI conversations and actions: stores pending actions
- Signed-in user → Action review and execution: reviews proposal
- PDF conversion workflow → PDF worker client: requests conversion
- PDF worker client → Private PDF worker: sends private PDF
- Workspace hub → Schema editor: opens editor
- Schema editor → SQL and DBML import: imports schema
modules/chartdb/src/dialogs/common/import-database/import-database.tsx - Schema editor → Browser diagram storage: stores diagrams
modules/chartdb/src/context/storage-context/storage-provider.tsx - Schema editor → Diagram export: exports SQL