Vue 3 + Vuetify application for documenting solution questionnaires across multiple projects. Available as both a Progressive Web App (PWA) and an Electron desktop application for Windows and Linux. The Electron app stores all data locally on the device (no cloud sync). The web version (hosted via GitHub Pages) stores all data exclusively in the browser's Local Storage (no server-side storage or sync). It uses a project tree for navigation, questionnaire tabs for editing, and a configuration editor in a dialog.
- Project tree with create/rename/delete and drag-and-drop (move and reorder questionnaires)
- Questionnaire tabs with close buttons and per-tab state
- Tech Radar: Interactive technology radar visualization with:
- Drag & drop category chips to assign to quadrants (first 3 categories get dedicated quadrants, remaining grouped in 4th)
- Click status rings (Adopt/Trial/Assess/Hold/Retire) to toggle visibility
- Dynamic ring sizing: hidden rings release space for visible ones to expand
- Search and filter by answer type (Tools/Practices) and categories
- Export as ThoughtWorks Build-Your-Own-Radar JSON or download as PNG
- Per-blip overrides: custom status, category assignment, and radar-specific comments
- Interactive legends with hover sync and detail dialogs
- Project Summary tab: cross-questionnaire matrix (aspect × questionnaire) with colored status chips, comment tooltips, search filter and collapsible categories
- All Suggestions: Aggregated view of all questionnaire answers with radar toggle buttons
- Deviation analysis: configure per-category/aspect rules; violations highlighted with red icons and orange row tint
- Reference questionnaire: designate one questionnaire per project as the baseline for comparison
- Category-based questionnaire with multi-answer entries and entry-level comments
- Status and applicability selects with descriptions
- Resizable sidebar: drag the right edge of the navigation drawer (160–640 px, persisted)
- Configuration editor (dialog) for categories and entries
- Project import/export (JSON and Excel)
- Auto-save to localStorage with last-saved indicator
- Sample data loader in the app bar
npm installnpm run devnpm run electron:devnpm run buildnpm run electron:buildnpm run previewnpm run electron:previewnpm run test:e2enpm run test:e2e:reportsrc/
├── main.js
├── App.vue
├── components/
│ ├── TreeNav.vue
│ ├── workspace/
│ │ ├── Workspace.vue
│ │ └── WorkspaceConfig.vue
│ ├── questionaire/
│ │ ├── Questionnaire.vue
│ │ └── QuestionnaireConfig.vue
│ └── projects/
│ ├── ProjectSummary.vue
│ ├── ProjectMatrix.vue
│ ├── ProjectSuggestions.vue
│ ├── CategorySettings.vue
│ └── TechRadar.vue
├── services/
│ └── categoriesService.js
└── stores/
└── workspaceStore.js
electron/
├── main.js
└── preload.js
public/
scripts/
tests/
├── data/
│ ├── golden_sample_project.json
│ └── sample_questionaire.json
├── features/
│ ├── export-import.feature
│ ├── project.feature
│ └── questionaire.feature
├── step_definitions/
│ ├── export-import.steps.js
│ ├── project.steps.js
│ └── questionaire.steps.js
└── support/
└── world.js
test-results/
- workspace: projects[] + questionnaires[]
- project: name + questionnaireIds[] + radarRefs[] + radarOverrides[] + radarCategoryOrder[] + deviationSettings{} + referenceQuestionnaireId
- questionnaire: name + categories[]
- radarRef: entryId + option (technology) + questionnaireId
- radarOverride: entryId + option + status + comment + categoryOverride
Metadata includes execution type and architectural role with descriptions.
In the Matrix or All Suggestions tab, click the radar icon (🎯) next to any technology answer to add it to the Tech Radar.
- Drag & drop the category chips at the top of the Tech Radar to reorder them
- The first 3 categories are assigned to dedicated quadrants (top-left, top-right, bottom-left)
- All remaining categories are grouped in the 4th quadrant (bottom-right)
Click any status label (Adopt, Trial, Assess, Hold, Retire) below the radar to toggle its visibility:
- Hidden rings are grayed out
- Blips with hidden status disappear
- Visible rings expand to fill available space
Click the menu (⋮) next to any blip in the legend to:
- Edit: Override status, assign to different category/quadrant, add radar-specific comments
- Remove: Delete from radar
Use the menu (⋮) in the toolbar to:
- Export as ThoughtWorks Build-Your-Own-Radar JSON format
- Download radar visualization as PNG image
- Export a single project from the project menu.
- Import a project JSON using the import dialog in the project tree header.
- Electron App (Windows & Linux): All data is stored locally on your device. No data is sent to any server or cloud service.
- Web App (GitHub Pages): All data is stored exclusively in your browser's Local Storage. There is no server-side storage or synchronization. Clearing your browser data will remove all projects and questionnaires.
GitHub Actions builds and deploys on push to main. The web version is hosted at GitHub Pages and stores all data only in the browser's Local Storage. Pushes and PRs to dev build but do not deploy.
- Vue 3
- Vuetify 3
- Vite
- Pinia
- Playwright (E2E)
