Migrating DevTrack from C# MAUI to a modern C++23 backend with Electron desktop UI.
- Language: C++ Standard 23
- Database: SQLite3 with modern C++ wrapper
- API Layer: RESTful HTTP server (using Crow or similar)
- Build System: CMake 3.20+
- Features:
- Project management engine
- Task tracking system
- Concept mapping system
- Data persistence layer
- WebSocket support for real-time updates
- Framework: Electron (Chromium + Node.js)
- UI Library: React with TypeScript
- State Management: Redux Toolkit or Zustand
- Styling: Tailwind CSS or Material-UI
- IPC: Electron IPC for backend communication
- Features:
- Multiple layout views (Kanban, Timeline, Grid, Calendar)
- Drag-and-drop interface
- Customizable dashboards
- Dark/Light themes
- Real-time updates
- Local HTTP API: Backend exposes REST endpoints on localhost
- WebSocket: For real-time project updates
- Electron IPC: For native OS integration
DevTrack/
├── backend/ # C++23 Backend
│ ├── src/
│ │ ├── core/ # Core application logic
│ │ ├── models/ # Data models
│ │ ├── services/ # Business logic services
│ │ ├── database/ # Database layer
│ │ ├── api/ # REST API endpoints
│ │ └── utils/ # Utilities
│ ├── include/ # Public headers
│ ├── tests/ # Unit tests
│ └── CMakeLists.txt
│
├── frontend/ # Electron Frontend
│ ├── src/
│ │ ├── main/ # Electron main process
│ │ ├── renderer/ # React app
│ │ │ ├── components/ # React components
│ │ │ ├── views/ # Page views
│ │ │ ├── layouts/ # Layout components
│ │ │ ├── store/ # State management
│ │ │ └── services/ # API client
│ │ └── preload/ # Preload scripts
│ ├── public/
│ └── package.json
│
├── shared/ # Shared types/interfaces
│ └── api/ # API contracts
│
└── docs/ # Documentation
- ✅ Create C++23 project structure
- ✅ Set up CMake build system
- ✅ Implement data models
- ✅ Create database layer with SQLite
- ✅ Implement service layer
- ✅ Build REST API server
- ✅ Add WebSocket support
- ✅ Write unit tests
- ✅ Initialize Electron + React project
- ✅ Set up TypeScript configuration
- ✅ Create base UI components
- ✅ Implement API client
- ✅ Set up state management
- ✅ Create layout system
- ✅ Project CRUD operations
- ✅ Task management
- ✅ Concept mapping system
- ✅ Multiple layout views
- ✅ User preferences
- ✅ Search and filtering
- ✅ Export/Import functionality
- ✅ End-to-end integration
- ✅ Performance testing
- ✅ UI/UX refinement
- ✅ Documentation
- ✅ Deployment packaging
- C++ Standard: C++23
- HTTP Server: Crow (header-only)
- Database: SQLite3 + SQLiteCpp wrapper
- JSON: nlohmann/json
- Testing: Google Test
- Build: CMake + Ninja
- Runtime: Electron 28+
- Framework: React 18+
- Language: TypeScript 5+
- UI Components: Material-UI or shadcn/ui
- Build Tool: Vite
- Package Manager: npm/pnpm
- Project creation, editing, deletion
- Task management with status tracking
- Concept-first approach (What, How, Where, With What, When, Why)
- Multiple project views
- Real-time updates
- Search and filtering
- Data export/import
- Concept relationship mapping
- Visual concept explorer
- AI-assisted analysis
- Timeline/Gantt view
- Kanban board
- Calendar integration
- Tag system
- Custom fields
- Reporting and analytics
- Theme customization
CREATE TABLE projects (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
description TEXT,
created_date DATETIME DEFAULT CURRENT_TIMESTAMP,
due_date DATETIME,
status TEXT CHECK(status IN ('Active', 'OnHold', 'Completed', 'Archived')),
concept_what TEXT,
concept_how TEXT,
concept_where TEXT,
concept_with_what TEXT,
concept_when TEXT,
concept_why TEXT
);CREATE TABLE tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
project_id INTEGER NOT NULL,
title TEXT NOT NULL,
description TEXT,
created_date DATETIME DEFAULT CURRENT_TIMESTAMP,
due_date DATETIME,
status TEXT CHECK(status IN ('ToDo', 'InProgress', 'UnderReview', 'Blocked', 'Completed')),
priority TEXT CHECK(priority IN ('Low', 'Medium', 'High', 'Critical')),
assigned_to TEXT,
estimated_hours REAL DEFAULT 0,
actual_hours REAL DEFAULT 0,
is_completed BOOLEAN DEFAULT 0,
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
);- Performance: C++ backend for high-performance data processing
- Modern UI: Electron enables rich, modern desktop experience
- Cross-Platform: Works on Windows, macOS, Linux
- Flexibility: Easy to customize and extend
- Web Technologies: Leverage React ecosystem
- Separation of Concerns: Clean backend/frontend separation
- Scalability: Can evolve to client-server if needed
- Phase 1 (Backend): 2-3 weeks
- Phase 2 (Frontend): 2-3 weeks
- Phase 3 (Migration): 1-2 weeks
- Phase 4 (Testing): 1 week
- Total: 6-9 weeks
- Set up development environment
- Create backend project structure
- Implement core data models
- Build REST API
- Create Electron app scaffold
- Implement UI components
- Integrate backend and frontend
- Migrate existing data
- Test and refine
- Package and deploy