Skip to content

urko94/DegenPigeon

Repository files navigation

typescript nextdotjs tailwindcss

FileFusion

Filefusion is a decentralized, Web3 file-sharing and storage platform built on Apillon's infrastructure within the Polkadot ecosystem. It leverages blockchain technology to offer enhanced security, privacy, and user control over their data, while providing features similar to WeTransfer and Dropbox.

  1. ⚙️ Tech Stack
  2. 🔋 Features
  3. 🕸️ Snippets

| Component | Technology/Service | | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | --- | | Authentication | RainbowKit with SIWE and Iron Session | | File Uploads | Apillon SDK Storage | | File Encryption / Decryption | Apillon SDK Computing | | Get Transferred / Uploaded Files | Apillon SDK Storage | | | Decrypt encrypted file site | Template forked from Apillon Phala Demo | | Email Sending Functioality | Nodemailer |

  • Sign in with Wallet Connect (using Metamask, WalletConnect or Coinbase Wallet) Untitled design

Filefusion has three modes.

  • Storage Mode - The storage mode works like a basic version of dropbox. Users can upload files and get a shareable link to access their uploaded files storage-mode Screenshot 2024-06-06 at 11 07 37 PM

  • Transfer Mode - Transfer mode functions as a web3 version of Wetransfer. Files are uploaded and transfered to recipient's email transfer-mode

  • Private Mode - Files transferred using private mode are encrypted before they are uploaded and transferred to the recipient. User's get access to a decryption site in their email and only the wallet address with the designated NFT Key can access the file. Screenshot 2024-06-10 at 4 18 07 PM

  • Access all of your files transferred and uploaded using FileFusion Screenshot 2024-06-10 at 4 16 17 PM

Wallet Connect Project ID

Note: Every dApp that relies on WalletConnect now needs to obtain a projectId (NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID) from WalletConnect Cloud. This is absolutely free and only takes a few minutes. Once you get the Project ID from WalletConnect Cloud, you can set it as an environment variable in your project.

Iron Session Password

Iron Session will encrypt the session with the given secret key (NEXT_IRON_PASSWORD) You can generate a secret key using this code on your terminal openssl rand -hex 32 or go to https://generate-secret.now.sh/32

Environment Variables

  • NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=
  • APILLON_BUCKET_UUID=
  • APILLON_API_KEY=
  • APILLON_API_SECRET=
  • EMAIL_USER=
  • EMAIL_PASS=
  • EMAIL_HOST=
  • NEXT_IRON_PASSWORD=

Clone the repository

git clone https://github.com/Ghost-xDD/FileFusion.git

Navigate to the project directory

cd FileFusion

Install dependencies

npm install

Start the application

npm run dev

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •