Inspiration
At our time at Michigan Blockchain, we recognized the power of smart contracts and the value of a decentralized system on a chain. As we enter the project field in this club, we wanted to play around with these futuristic developments.
What it does
Our platform allows users to create an event and have users check into this event using a crypto wallet. As attendee's check-in, they will be minted an NFT as proof. These check-ins are also put on a blockchain, verifying them and making them impossible to fake and edit.
How we built it
We developed the entire backend and smart contract functionality using Solidity, creating function calls to handle the required user inputs. For the frontend, we used React.js and CSS, ensuring the smart contract seamlessly integrates with the user interface.
Challenges we ran into
One major challenge was funding the MetaMask wallet with testnet coins for demonstration purposes. This process was somewhat tedious because every new wallet required additional testnet coins. However, we eventually managed to set up MetaMask to accurately retrieve the final contract price and gas fees within the extension.
In addition, it's hard to actually show the reception of an NFT in a wallet on testnets, especially on MetaMask wallets as NFT support isn't on desktop.
Accomplishments that we're proud of
We're proud of our achievement in developing web3 applications with Solidity, which was a new and valuable experience. We successfully created a smart contract and linked it to a functional front-end interface.
What we learned
Throughout this project, we gained experience in Solidity and ReactJS development, and we learned how to configure and execute transactions through MetaMask.
What's next for CollegeFund
In the future, we aim to enhance AttendChain by streamlining the front end to have an event hoster side that allows a host to start an event. We also aim to make it into a public website and find a better way to support NFT reception.
Log in or sign up for Devpost to join the conversation.