Snapmemo allows users to save, share and keep track of photographs stored on web3.storage by creating digital assets on the blockchain.
Whether it's the world cup, a music concert, or some lonely time with nature, sometimes we are lucky enough to capture remarkable moments in photographs. Some of these photographs go viral as memes as soon as they're shared on social media - but with little credit given to the true owner.
Snapmemo is inspired to let users stamp digital ownership to all their photos saved on web3.storage by creating NFTs of these photographs before sharing on social media (twitter)
Photos are saved on web3.storage when uploaded, and subsequent metadata is stored in a seperate directory on web3.storage. When a digital asset (NFT) is successfully created, a tweet with link to that photo is shared automatically on twitter.
Each users gallery can retreive all metadata collectively by quering assets created by a unique asset name on the blockchain.
-
Authenticate web3 sand create NFT wallet using social login
-
Upload, Mint and Tweet new NFT Pictures on one click
-
Hosting A preview of website is hosted on ipfs on fleek.co
-
Photo Storage with Web3.storage
const client = new Web3Storage({ token });
const files = [new File([image], `${user.id}.jpg`)];
const cid = await client.put(files, {
wrapWithDirectory: false,
});
- Metadata Storage with Web3.storage
const blob = new Blob([JSON.stringify(metadataObj)], {
type: "application/json",
});
const metaFile = new File([blob], "metadata.json");
const metadataCid = await client.put([metaFile], {
wrapWithDirectory: true,
});
snapmemo was boostrapped using NExtjs and Chakra UI
- Web3.Storage
- Web3Auth
- Firebase JWT
- AlgoSDK
- AlgoIndexer
- To run server locally, glone the repository. Run
npm install
andnpm run dev
@cgold54 @AC_godson