{"id":23730124,"url":"https://github.com/drewcook/dapp-ipfs-drive","last_synced_at":"2026-04-05T23:05:52.358Z","repository":{"id":84426288,"uuid":"452917316","full_name":"drewcook/dapp-ipfs-drive","owner":"drewcook","description":"A decentralized web app that connects to IPFS for uploading, viewing, and storing files on a P2P network.","archived":false,"fork":false,"pushed_at":"2022-02-06T17:00:44.000Z","size":987,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T11:53:07.498Z","etag":null,"topics":["dapp","ethereum","ipfs","react","solidity","web3"],"latest_commit_sha":null,"homepage":"https://drive.dco.dev","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drewcook.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-28T02:45:33.000Z","updated_at":"2023-10-01T08:19:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"95926ccd-ba07-4953-b6ec-7575168cce60","html_url":"https://github.com/drewcook/dapp-ipfs-drive","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/drewcook/dapp-ipfs-drive","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drewcook%2Fdapp-ipfs-drive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drewcook%2Fdapp-ipfs-drive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drewcook%2Fdapp-ipfs-drive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drewcook%2Fdapp-ipfs-drive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drewcook","download_url":"https://codeload.github.com/drewcook/dapp-ipfs-drive/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drewcook%2Fdapp-ipfs-drive/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261212297,"owners_count":23125580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dapp","ethereum","ipfs","react","solidity","web3"],"created_at":"2024-12-31T02:32:31.993Z","updated_at":"2025-12-30T22:27:42.227Z","avatar_url":"https://github.com/drewcook.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IPFS Drive\n\nView the live [demo](https://drive.dco.dev).\n\n![IPFS Drive Screenshot](./screenshot.png)\n\nThis application is a Web3 product that allows users to upload their files to [IPFS](https://ipfs.io/) and view them in a dashboard, very similar to Google Drive. However, this application is decentralized and allows users to interact with Web3.\n\nThis is a very simple product aimed to deliver a proof of concept for uploading and viewing files within IPFS in a web application built with JavaScript.\n\n## Toolkit\n\nThis project includes the following tech:\n\n- [IPFS JavaScript Client](https://js.ipfs.io/)\n- [Infura](https://infura.io)\n- [Truffle](https://trufflesuite.com/)\n- [Solidity](https://soliditylang.org/)\n- [React](https://reactjs.org/)\n- [Bootstrap / Reactstrap](https://getbootstrap.com/)\n\n## Running this app locally\n\nThis app is a Truffle app with a Create React App frontend in the `/client` directory which will need to be started.  This app also needs to connect to an IPFS daemon running a local node.  You'll also need a Web3 wallet to connect to the dApp and approve transactions.\n\n### Prerequisites\n\n- Local IPFS node\n- Web3 Wallet\n\n#### Install IPFS\n\nYou will need to install an IPFS node on your machine to start working locally. The easiest way to do this is to install [IPFS Desktop](https://docs.ipfs.io/install/ipfs-desktop/). If you already have an IPFS node on your computer, IPFS Desktop will act as a control panel and file browser for that node. If you don't have a node, it'll install one for you. And either way, IPFS Desktop will automatically check for updates.\n\nYou may also choose to work with the command line instead. You may follow [these docs](https://docs.ipfs.io/install/command-line/#system-requirements) to install via the CLI.\n\n#### Run a local IPFS daemon\n\nOnce you have IPFS installed locally, you will need to spin up a daemon for the client app to connect to. The easiest way to do this is to just open up IPFS Desktop, which will connect to your local node to the network.\n\nYou may also use the CLI to spin one up by simply running `ipfs daemon` in the command line.  More docs can be found [here](https://docs.ipfs.io/how-to/command-line-quick-start/#take-your-node-online) for CLI use.\n\n#### Install a Web3 wallet in your browser\n\nYou'll need an Ethereum-based wallet in your browser. The most popular one is the [MetaMask extension](https://metamask.io/download/), or you may use [Brave Browser](https://brave.com/) which contains a built in wallet.\n\n### Run the app\n\nOnce you have IPFS installed and connected and a Web3 wallet in a browser, you can now run the client application. Install the dependencies via NPM or Yarn, and start the app.\n\n```sh\n# NPM\ncd client\nnpm install\nnpm start\n\n# Yarn\ncd client\nyarn install\nyarn start\n```\n\nIf you run into any problems, please submit an [issue](https://github.com/drewcook/dapp-ipfs-drive/issues/new) and I'll work quickly to help resolve it.  Thanks!\n\n\u003cp align=\"center\"\u003e\n \u003cimg src=\"https://visitor-badge.glitch.me/badge?page_id=drewcook.dapp-ipfs-drive\" alt=\"visitor count\"/\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrewcook%2Fdapp-ipfs-drive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrewcook%2Fdapp-ipfs-drive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrewcook%2Fdapp-ipfs-drive/lists"}