Skip to content

fireproof-storage/public-media-gallery

Repository files navigation

Public Media Gallery

This is a demo of Fireproof, a new web database that's built from the ground up for distributed applications. This app showcases Fireproof's integration with web3.storage and IPFS. While Fireproof can run on any cloud, the developer-friendly defaults showcased here are designed to make it possible to write full featured apps without needing a backend.

In this example you login by validating your email address, and then upload images to your library. From there you can compose albums, and publish them to the web.

User accounts are self-sovereign, powered by DID and UCAN, which means they are tied to private keys that live in your device and which no software can extract. This means that your account is truly yours, but it also means your devices need to be online at the same each time you setup a new device, because device setup involves the old device cryptographically certifying the new device.

Part of the Fireproof hypothesis is that distributed identity and applications can be be made friendly enough for everyone, from developers to mainstream users. So while this demo relies on cutting edge technology, it's also designed to show how apps built like this can be compelling, fun, and usable.

upload

Customize the style and layout of your gallery, then publish it to a plain HTML link.

gallery

Future Iterations

To iterate from a starting point like this, into something people would use for real world, here are some ideas for additional features:

Easy to Add

  • Manual tagging workflows
  • Auto tag all videos in an import

Medium Complexity

  • Auto tag based on exif or other machine data
  • Transcoding / browser optimizing
  • Importing weird formats

Hard to Implement

  • Non-public asset files (private metadata is no problem)

On the Roadmap

Things you'd get "for free" as they are part of the Fireproof roadmap, even if they are only nascent now:

  • Multi-user collaboration on a metadata library
  • Passkey (TouchID / FaceID) login (also WalletConnect)
  • Multi-device sync (Already works)

Developing

Run the app locally by cloning the repo and then running:

npm install
npm start

Please run npx tsc on pull requests to minimize cleanup.

About

Media library manager and cutom gallery publisher – fork me for your project!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published