https://github.com/lukad/composer_prototype
https://github.com/lukad/composer_prototype
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/lukad/composer_prototype
- Owner: lukad
- Created: 2023-11-12T21:33:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-12T21:34:03.000Z (over 1 year ago)
- Last Synced: 2025-02-08T03:11:19.026Z (3 months ago)
- Language: Elixir
- Size: 319 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
- Questions/Challenges
- How to store/structure notes?
collapsed:: true
- Store ancestry path
- 
- Ids have to be appended to the path during query
- Makes moving items in the tree somewhat because all items below have to updated as well
- Adjacency list (parent_id)
- Unpredictable query performance
- Getting the path to a given item requires a query
- Rendering:
collapsed:: true
- Items can be rendered as a flat list, allowing us to take advantage of [Phoenix.LiveView.stream](https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html#stream/4)
- Indentation can be done using CSS
- How to handle drag and drop?
- Needs JavaScript, maybe [SortableJS](https://github.com/SortableJS/Sortable)
- How to do live editing?
- Check out [Delta](https://github.com/slab/delta-elixir) which implements a data structure used for Operational Transform
- https://slab.com/blog/announcing-delta-for-elixir/
- https://en.wikipedia.org/wiki/Operational_transformation
- Link unfurling
- Eric already wrote the [web_inspector](https://github.com/eteubert/web_inspector) for link unfurling that can be used and expanded
- How and when are the links processed?