Inspiration
The inspiration came because as a college student or someone who loves to read, I have to spend thousands of hundreds of dollars on books and then lose half of it. We decided to create a platform that protects people's money and the environment
What it does
- Allows users to list/post books, notes, class materials, presentations, and more.
- Allows users to add reviews for books, notes, and class materials.
- Users can add new prices
- Allows users to browse and compare books prices
- It gives users a more accurate picture of a book before buying it
- Users can send or receive tips for sharing their reviews
- Users can send or receive tips
- It provides additional information for potential buyers to make a more informed decision before buying a book, course or signing up for a class.
- Books, notes, class materials, and courses notes are represented as NFTs
- Easily collect accurate information that is available to the public using blockchain technology
How we built it
Book Swaps application makes use of the following software:
Alfajores Networkenables Book Swap application to be a scalable platform with fast transactions. We deployed our app on the Alfajores Network.Gnosis Networkenables Book Swap application to be a scalable platform with fast transactions. We deployed our app on the Gnosis Network.Matic - Polygon Networkenables Book Swap application to be a scalable platform with fast transactions. We deployed our app on the Polygon Network.Optimism Networkenables our app to be secure and cost-effective. We deployed our app on the Optimism NetworkValistfacilitated the process of distribution of our in a secure way.Spheronmade it easy and was the most convenient way to deploy our web app onto a Decentralized Cloud Storage. This allows our users to access our app anywhere in the world.TableLandmade our work easy with the Ethereum network. This allows us to work with a relational database to store Employment references and metadata for EVM chains like Ethereum. We will definitely keep using complex TableLand functions in the future.XMTPfacilitated the process of communication between employers and employees, especially for important employment documents. XMTP allows our users to request employment letters and documents in and seamless and secure way.Covalent APIwas really helpful for users' donations and tips. This facilitated the retrieval of users’ NFTs and smart contract transactions. The Covalent API endpoints to get all NFTs balance and metadata from a wallet address such as images, contracts name, NFTs images, and balances.IPFS NFTStoragefor data storage on IPFS that generates a transaction hash used to create an NFT of a photo.textile/eth-storage: facilitated a fast way to store metadata for NFTs such: as names, locations, description, images, wallet addresses, and more. It was perfect for our use case to save their needs on the textile storage.NFTPortsmooths the path of the minting and donating process and eliminates the high transaction fees. Our users will not pay anything for donating NFTs or minting.Solidityfor the smart contract.OpenZeppelin ERC721we use the ERC721 template for faster development of our smart contract.Ganachefor local blockchain development.Rinkeby Networkis the network where we deployed our dApp.React Js, Material-ui, Web3React Js for the frontend, Material-ui, and Web3 to connect to the blockchain.
Challenges we ran into
The chat functionality took us longer.
Accomplishments that we're proud of
We are proud of the final MVP and how our project went from an idea to a demo
What we learned
We learned to work with IPFS NFTStorage and hardhat
What's next for Book Swap
Post updates Upon registration, add a point system for users.
deployed Address
- deployedAlfajoresContract = '0x16d7be29ebc6db2e9c92E0Bf1dE5c1cfe6b1AD2a'
- deployedMaticContract = '0xA266e466FbAF783006758Ee7b5d91ec1E121233C'
- deployedOptimismContract ='0x15036E33e8E8f706fd77A1aC550d28FD58432c1B'
Built With
- ether.js
- firebase
- hardhat
- material-ui
- node.js
- postgresql
- react
- solidity
- web3


Log in or sign up for Devpost to join the conversation.