{"id":45368194,"url":"https://github.com/marco-giuseppe-starace/flowdesk","last_synced_at":"2026-03-02T13:13:42.828Z","repository":{"id":339773920,"uuid":"1163326066","full_name":"marco-giuseppe-starace/flowdesk","owner":"marco-giuseppe-starace","description":"Desktop productivity tracker for Power Platform professionals — Kanban, Timer, Analyzer, SharePoint, FDHub","archived":false,"fork":false,"pushed_at":"2026-02-24T15:32:22.000Z","size":2834,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-24T18:10:36.390Z","etag":null,"topics":["desktop-app","electron","low-code","microsoft-graph","msapp","power-apps","power-platform","react","sharepoint","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marco-giuseppe-starace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-21T13:07:01.000Z","updated_at":"2026-02-24T15:36:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/marco-giuseppe-starace/flowdesk","commit_stats":null,"previous_names":["marco-giuseppe-starace/flowdesk"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/marco-giuseppe-starace/flowdesk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marco-giuseppe-starace%2Fflowdesk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marco-giuseppe-starace%2Fflowdesk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marco-giuseppe-starace%2Fflowdesk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marco-giuseppe-starace%2Fflowdesk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marco-giuseppe-starace","download_url":"https://codeload.github.com/marco-giuseppe-starace/flowdesk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marco-giuseppe-starace%2Fflowdesk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30003765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T12:19:43.414Z","status":"ssl_error","status_checked_at":"2026-03-02T12:19:02.215Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop-app","electron","low-code","microsoft-graph","msapp","power-apps","power-platform","react","sharepoint","typescript"],"created_at":"2026-02-21T15:09:42.612Z","updated_at":"2026-03-02T13:13:42.822Z","avatar_url":"https://github.com/marco-giuseppe-starace.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FlowDesk\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![GitHub release](https://img.shields.io/github/v/release/marco-giuseppe-starace/flowdesk)](https://github.com/marco-giuseppe-starace/flowdesk/releases)\n[![Platform: Windows](https://img.shields.io/badge/platform-Windows-0078D6?logo=windows)](https://github.com/marco-giuseppe-starace/flowdesk/releases)\n[![Built with Electron](https://img.shields.io/badge/built%20with-Electron-47848F?logo=electron)](https://www.electronjs.org/)\n\nDesktop app offline-first per produttivita su Microsoft Power Platform.\n\n- Versione corrente: `0.7.0`\n- Stack: Electron + React + TypeScript + SQLite (`better-sqlite3`)\n- Target: Windows (installer NSIS `.exe`)\n\n## Cosa fa\nFlowDesk unifica in una sola app:\n\n- pianificazione giornaliera (obiettivi, task, backlog)\n- tracking lavoro (timer sessioni, pomodoro, changelog)\n- knowledge base (note, snippet, bookmark, learning)\n- gestione team/progetto (progetti, ambienti, contatti, bug, checklist)\n- analytics/report (storico, report giornaliero, export PDF)\n- Power Apps workflow (Analyzer `.msapp` + FDHub locale)\n- hub web interni (AI Hub e Microsoft 365 Hub a tab)\n- SharePoint via Microsoft Graph (liste e documenti)\n\n## Novita v0.7.0\n- Auto-update in app integrato (`electron-updater`)\n- Sezione Aggiornamenti con stato live: check, download progress, installa al riavvio\n- Pulsanti update in-app:\n  - `Scarica aggiornamento in app`\n  - `Riavvia e installa ora`\n- Fallback automatico alla release GitHub se l'update OTA non e disponibile\n- Migliorie UI modal reset (spaziatura azioni)\n\n## Installazione rapida\n### Utente finale\n1. Vai su [Releases](https://github.com/marco-giuseppe-starace/flowdesk/releases)\n2. Scarica `FlowDesk Setup \u003cversion\u003e.exe`\n3. Esegui installer\n\n### Da sorgente\n```bash\ngit clone https://github.com/marco-giuseppe-starace/flowdesk.git\ncd flowdesk\nnpm install\nnpm run dev\n```\n\n## Script\n- `npm run dev`: Vite + Electron in sviluppo\n- `npm run build`: build frontend produzione\n- `npm run build:app`: build completa + installer Windows\n- `npm start`: avvio desktop produzione\n- `npm run lint`: linting\n\n## Prima configurazione database\nAl primo avvio FlowDesk chiede dove salvare `flowdesk.db`:\n- cartella custom\n- OneDrive (`OneDrive/FlowDesk`)\n- path predefinito app\n\nSe il config si perde, tenta il recupero automatico del DB esistente.\n\n## Moduli principali\n### Pianificazione\n- Dashboard KPI\n- Obiettivi giornalieri\n- Task Kanban (Todo/Doing/Done)\n- Backlog\n\n### Esecuzione\n- Timer sessioni\n- Pomodoro\n- Registro modifiche\n- Bug Tracker\n- Checklist\n\n### Conoscenza\n- Note\n- Snippet\n- Link utili\n- Formazione\n\n### Analisi\n- App Impact\n- Power Apps Analyzer\n- FDHub\n- AI Hub\n- M365 Hub\n- SharePoint\n\n### Revisione e utility\n- Retrospettive\n- Storico\n- Report\n- Ricerca globale\n- Cestino\n- Aggiornamenti\n- Guida integrata\n\n## AI Hub e M365 Hub\nEntrambi usano browser interno a tab singola finestra (no caos multi-finestra).\n\n### AI Hub\nProvider pronti: ChatGPT, Copilot, Gemini, Claude, Perplexity, Grok, Mistral, Meta AI, Poe, You.com.\n\n### Microsoft 365 Hub\nAccesso rapido a app Microsoft 365 in tab interni + apertura esterna.\n\n## SharePoint\nSupporto Graph API con login Microsoft:\n- config tenant/client\n- navigazione siti/liste\n- CRUD item lista\n- document library (upload/download/cartelle)\n\n## Auto-update: come funziona\nFlowDesk usa update OTA da GitHub Releases.\n\nPer ogni release pubblica devi allegare sempre:\n1. `FlowDesk Setup \u003cversion\u003e.exe`\n2. `FlowDesk Setup \u003cversion\u003e.exe.blockmap`\n3. `latest.yml`\n\nSe manca `latest.yml`, l'app mostra errore di verifica update (404).\n\n## Build release corretta\n```bash\nnpm run build:app\n```\nOutput in `release/`:\n- installer `.exe`\n- `.blockmap`\n- `latest.yml`\n\n## Architettura tecnica\n- `src/App.tsx`: UI e logica renderer\n- `electron/preload.cjs`: API sicura `window.flowdesk`\n- `electron/main.cjs`: IPC, menu, filesystem, auto-update, browser hub\n- `electron/db.cjs`: schema SQLite + CRUD + migrazioni\n- `electron/msapp-parser.cjs`: parser/analyzer `.msapp`\n\nFlusso:\n`React -\u003e preload (ipcRenderer) -\u003e main (ipcMain) -\u003e db/file system -\u003e ritorno al renderer`\n\n## Struttura progetto\n```text\nflowdesk/\n  electron/\n    main.cjs\n    preload.cjs\n    db.cjs\n    msapp-parser.cjs\n  src/\n    App.tsx\n    App.css\n    main.tsx\n  build/\n    icon.ico\n  release/\n  docs/\n  scripts/\n  package.json\n```\n\n## Scorciatoie principali\n- `Ctrl+K`: Command Palette\n- `Ctrl+D`: Toggle dark mode\n- `F1`: Guida\n- `Ctrl+1..5`: viste rapide principali\n\n## Sicurezza\n- `contextIsolation: true`\n- `nodeIntegration: false` nel renderer\n- API esposte solo da preload\n- validazioni path su apertura allegati\n\n## Licenza\nMIT - vedi [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarco-giuseppe-starace%2Fflowdesk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarco-giuseppe-starace%2Fflowdesk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarco-giuseppe-starace%2Fflowdesk/lists"}