Inspiration
The inspiration for this application comes from the need for transparency and accountability in corporate social responsibility activities. With the implementation of the Companies Act 2013 in India, companies are required to spend a certain percentage of their profits on CSR activities, but there is a lack of transparency in the verification process. This app aims to provide a platform for individuals and organizations to engage in verified social activities and make a positive impact on society while earning rewards in a transparent and accountable manner. Also, giving incentives to the people who do social activities will make them more motivated to do such tasks. So we needed something to satisfy this requirements.
What it does
This application, called SocialXchange, provides a platform for individuals and organizations to engage in verified social activities and earn rewards for their efforts. The app has two types of users - normal users who are involved in social activities and organizations that are looking to fulfill their CSR obligations.
Normal users can participate in various social activities such as cleaning waste, helping the poor, donating food, creating renewable energy, afforestation, and more. These activities are verified using a dynamic threshold-based voting mechanism, and once verified, users earn credits for their efforts.
Organizations can then buy these credits using MATIC (a cryptocurrency) in exchange for fulfilling their CSR obligations. The process is completely transparent, and any government authority or individual can easily verify the authenticity of the credits earned by organizations and track them back to the source.
In summary, this app facilitates verified and accountable CSR activities while empowering individuals to make a positive impact on society and earn rewards for their efforts.
How we built it
Using React for the frontend and solidity,hardhat framework for the backend.
Challenges we ran into
1.When we were integrating our Smart Contracts with FrontEnd React server we were not getting responses for GET requests... After 1-2 hours of brainstorming and debugging we found out that nothing was wrong with the code but the software which we used to implement Blockchain locally had issues, so we hosted our blockchain on public blockchain provider "Polygon" and eventually it worked out.
- Uploading files on IPFS - We didn't get any reliable source from which we can learn how to upload on IPFS systems, we tried using the online resources but they were not much helpful, so we used services of "web3.storage", we used their API for uploading our files and getting a unique CID for every resource we uploaded.
Accomplishments that we're proud of
1.Facilitating verified and accountable CSR activities: The SocialXchange app provides a platform for individuals and organizations to engage in verified social activities and earn rewards in a transparent and accountable manner.
2.Promoting social responsibility: By incentivizing social activities, the app encourages people to engage in social responsibility, which can have a positive impact on society.
Transparency: The use of a blockchain network and dynamic threshold-based voting mechanism ensures the transparency and accountability of credit transactions and social activities.
Easy exchange of credits: The app simplifies the process of exchanging credits between normal users and organizations, which can help organizations meet their CSR obligations more efficiently.
Empowering individuals: The app empowers normal users to make a positive impact on society while earning rewards for their efforts.
- Positive impact on the environment: The app incentivizes activities such as afforestation and renewable energy creation, which can have a positive impact on the environment.
What we learned
Understanding user needs is crucial: To build an app that meets the needs of normal users and organizations alike, it is essential to understand those needs. This requires thorough research and user testing.
Blockchain technology is powerful: I gained a deep appreciation for the power and versatility of blockchain technology during the development of SocialXchange. By using a blockchain network and smart contracts, we were able to build a highly secure and transparent platform.
Developing a dynamic threshold-based voting mechanism is challenging: One of the most challenging aspects of building SocialXchange was developing a voting mechanism that could verify the authenticity of social activities. However, through a lot of trial and error, we were able to create a mechanism that works well.
Front-end and back-end development require different skills: I learned that building the front-end and back-end components of a web application requires different skill sets. While front-end development focuses on user interface and user experience, back-end development involves data management and security.
Database management is crucial: Managing user data, activity data, credit transactions, and other information is crucial to the success of an app like SocialXchange. I learned how to use a database system to manage this data efficiently.
What's next for Xchange
Integration with more blockchain networks: Currently, SocialXchange uses the Matic blockchain network. In the future, we could explore integration with other blockchain networks, such as Ethereum or Binance Smart Chain, to increase the app's flexibility.
Partnerships with more organizations: SocialXchange can partner with more organizations to offer a wider range of activities for users to participate in. This could include partnering with NGOs, government agencies, and private companies.
Integration with other cryptocurrencies: While SocialXchange currently uses MATIC as the only cryptocurrency, in the future, we could explore integration with other cryptocurrencies, such as Bitcoin or Ethereum, to offer users more options.
Implementation of machine learning algorithms: SocialXchange can integrate machine learning algorithms to identify fraudulent activities, analyze user behavior, and personalize the user experience.
Introduction of a mobile app: Currently, SocialXchange is a web-based platform. However, introducing a mobile app could increase user engagement and make it more accessible for users.
Built With
- blockchain
- bootstrap
- css3
- ether
- filecoin
- hardhat
- html5
- javascript
- react
- solidity
Log in or sign up for Devpost to join the conversation.