Inspiration

Big Tech Companies are hijacking the data and are using it unethically, to provide services. This was the core inspiration behind building a file storing and sharing service in a decentralized fashion, which empowers one as the sole owner of his/her data!

What it does

CryptoDrive is a decentralized, zero server, file storing, and sharing service built using IPFS and Blockchain.

How we built it

We started with a basic create-react-app application and built an elegant and minimalistic UI using Figma. Then our team started working on learning and building smart contracts steadily with a definite pace and integrating Web3 with ReactJS. Finally, we adopted Agile Methodology, to build the product. So on every two days, we are enhancing our UI and building the core features.

This led us to build a complete end-to-end product handling all the edge cases within the sprint period. Along with this, we finally re-designed the architecture of our app on Figma, you can browse the link below.

Challenges we ran into

  1. We were completely new to the blockchain environment during the initial phase. On talks with various mentors and blockchain enablers in the fellowship server like Guna Shekar and Ankit Maity, we got some idea, about how blockchain works and what are smart contracts.

  2. We brainstormed a lot about the how the architecture of our application will be looking like. And part of the team was focussing on research on blockchain and uploading and sharing mechanisms. There we got to know, about IPFS and Infura. This motivated our purpose, that we can build something impactful.

  3. We spent few hours learning Solidity, through the resource provided by the mentors, CryptoZombies.io and it was pretty interactive, to learn in a story way and implementing the things on the go.

  4. One of our features is that we run on zero servers, so every computation will be done on the client side. So we had to optimize things a lot, in order to give the best experience to the users.

  5. Defining the structure, and late-night peer coding, helped us to get a lot of learning through this sprint. As some of our team members were from a non-React background, so together we helped each other to learn bits and pieces of React. Later on the whole team, collaboratively worked on building the UI, identifying, fixing the bugs, and state logic.

  6. We realized that we have to use, Web3JS in order to let our app communicate with smart contracts written in solidity. As React is one of the developer-friendly libraries, it was a great learning experience in integrating third-party libraries with react and various DOM and Virtual DOM events.

  7. The next challenge was to deploy our smart contract to Ethereum, but we realized, it's too much costly around $130, so we are supposed to put it in a blockchain TestNet, like Rinkeby Test Network, and can post a tweet to get faucet ethers, which can be used for deployment and working of the application for free of cost.

Accomplishments that we're proud of

We have done a lot of peer coding and teamwork, so we are a bit proud of that. Along with that, we learned so many technologies like Solidity, IPFS, Smart Contracts, Web3Integration, Encryption and Decryption Algorithms, and Compression algorithms.

What we learned

We learned the following things.

  1. Solidity
  2. Team Board and Issue Management using Project Kanban Boards
  3. Peer coding
  4. IPFS
  5. Complex State Management in React.
  6. Web3Integration
  7. Compression, Encryption, and Decryption Algorithms
  8. Resolving Merge Conflicts.
  9. Best Practices like Code commenting, canary deployment, and documenting code.
  10. GitHub Actions

What's next for CryptoDrive

We want to be an open-source organization, enriching data safety and ownership. We will be implementing more features under sharing option. And optimize things on go.

Built With

Share this project:

Updates