acgodson / snapmemo-frontend

Snapmemo allows users to save, share, and keep track of photographs stored on ipfs as digital assets on the blockchain

Home Page:snapmemo.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

welcome

Snapmemo allows users to save, share and keep track of photographs stored on web3.storage by creating digital assets on the blockchain.

Inspiration

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.

Revolutionalizing mobile photography, whilst leveraging NFTs and Web3.storage

Snippet Webview

User Experience

  • Authenticate web3 sand create NFT wallet using social login

  • Upload, Mint and Tweet new NFT Pictures on one click

Leveraging IPFS and WEB3.storage

  • 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,
        });

Tools

snapmemo was boostrapped using NExtjs and Chakra UI

Intergrations

  • Web3.Storage
  • Web3Auth
  • Firebase JWT
  • AlgoSDK
  • AlgoIndexer

Testing

  • To run server locally, glone the repository. Run npm install and npm run dev

Screens

social-login

home

new-photo

upload

asset-created

gallery

Tweet

Links

Contributors

@cgold54 @AC_godson

About

Snapmemo allows users to save, share, and keep track of photographs stored on ipfs as digital assets on the blockchain

snapmemo.vercel.app

License:MIT License


Languages

Language:TypeScript 94.6%Language:CSS 4.9%Language:JavaScript 0.4%