An org chart visualizer.
This is a Next.js project bootstrapped with create-next-app.
- Set up a Google sheet data source and record the Google sheet ID, like
1UgY8dBbj-lyVKwTn2ogJsUEtsam4eTMZO-IWL9-zC30. - Start the dev server:
yarn dev - Visit http://localhost:3000/[sheetId]
- Push to deploy through Vercel.
- Correct the spacing issues for wide boxes
- Find-as-you-type on the org chart or filter dropdowns
- New data model (see below) + better security
- Zoom from the center of the viewport instead of the top left
- More usable zoom buttons
- Portrait/landscape layout switcher
- Animations as you switch views or change filters
- View changes over time (but you could use new sheets for that, and it's duplicative with 10kft)
- Percentages of allocation (but that never really works anyway)
The Google sheet data source is really easy to dive in and edit, but has drawbacks:
- Schema changes have to be copy-pasted across each sheet in the workbook.
- No easy way to promote changes to other sheets.
- Too easy to make typos or edits that break formatting.
- Can't make changes directly in the UI.
What we could do instead is a data model where each view consists of:
- A base view
- Bulk data imports
- Some changes
So, the "Current Org" sheet could be:
- Based on [Blank]
- "Import from Greenhouse on 2/12/21" (or fake it with a spreadsheet import/edit tool)
- "Import from Bamboo on 2/12/21" (or fake it with a spreadsheet import/edit tool)
- Changed xxxx from xxxx to xxx
- Added xxx with properties xxxxx
And "Proposed New Org" could be:
- Based on 'Current State'
- Changed xxxx from xxxx to xxx
- Added xxx with properties xxxxx
Then if the new org gets approved, you merge it into the Current Org sheet. It would still be useful to have a spreadsheet-esque bulk edit tool, though.
This could be implemented in any DB, but maybe https://github.com/gristlabs/grist-core or https://github.com/terminusdb/terminusdb would be cool to try.