๐๐ฆฬ๐ช๐ฆ๐ฐ is a filesystem overlay for IPFS resources leveraging several novel approaches to organize content.
This program is a virtual โfilesystemโ built in a native graph database. Each user has a โcontext forestโ wherein they try to see that all sensical paths for a resource resolve. If you can come up with ๐ข๐ฏ๐บ path that sensibly describes the resource you're looking for, it'll be there. No more lost files.
Operations are done on combinations of these forests across users. For example, users can specify a trusted set of forests to search through. Content can be ranked based on how consistent and desirable the information encoded in the paths including the resource.
๐๐ฆฬ๐ช๐ฆ๐ฐ differs from a traditional directory tree in several fundamental ways:
โ ๐ฃ๐ฎ๐๐ต๐๐ฒ๐๐: When searching through resources, rather than a single path, the user can specify combinations of paths, and display elements that are common between them.
โ
๐๐ผ๐น๐น๐ฎ๐ฏ๐ผ๐ฟ๐ฎ๐๐ถ๐๐ฒ ๐๐ถ๐น๐๐ฒ๐ฟ: In ๐๐ฆฬ๐ช๐ฆ๐ฐ, each user's additions are saved to their own subforest. These are traversed en masse to find which resources were the most often referenced to gauge popularity for competitive spaces like /news/interesting/
where lots of content wants to have the top spots.
โ ๐ก๐ฎ๐๐ถ๐๐ฒ ๐๐ผ๐น๐น๐ฒ๐ฐ๐๐ถ๐ผ๐ป๐: Folders may contain multiple resources with the same name.
IPFS filesystems are spidered into Neo4j including saving the structure of symlinks. Each user has an isolated import structure and queries are performed by traversing over combinations of them.
The base application is Next.js / TypeScript. There's a React frontend that sends JSON to API endpoints which converts it to Cypher, passes it through Neo4j, and composes a JSON response.
Authentication is accomplished using Sign-In With Ethereum. ENS names are used as the root identifying token for the user-based import trees.