Defending facts on the web
- Description
- Demo video
- The architecture
- Live demo
- Built with
- Contributing
- Versioning
- Authors
- License
- Acknowledgments
In countries like China, North Korea, Cuba, and countless others where to and fro flow of news is highly restricted. News and media constitute the fourth pillar of any democracy. People, both inside and outside the regime, have a diluted image of the governing bodies. It is the media that is deemed responsible for exposing the true face of these bodies - be it good or bad. If the freedom of media is compromised, democracy is just another word in the dictionary. In these recent times, this freedom of speech, expression, and press have been threatened by a lot of centralized bodies ranging from terrorist groups, media agencies, departments of the government - reporters are getting attacked each and every day at some or other corner of the world, people are being fed with fake news circulating through these social media websites on a daily basis. There should be a system where anyone can report information anonymously, and no one should have control over its existence and reach while the community decides upon the validity of the same. There should be an open platform to get true and unbiased opinions from people without putting their fundamental rights at risk. This is where our application, WhistleBlower, comes into play.
WhistleBlower is a web application that maintains the user's anonymity while they deliver the news without any fear or favor. The application allows one to add relevant documents (proofs) to support the information. Also, they can check the news and their respective documents reported by others. The application reports all these transactions into the blockchain and documents (proofs) to the IPFS network without revealing the user's identity and ensuring that it can't be taken down for whatever reason by anyone. Any spam, fake or unnecessary information posted on the application gets filtered by the relevant users themselves with the help of the like/dislike feature along with other details in the comments. Users can gain traction for their posts by using the share button and gain some tokens generated in exchange for the same.
We learned about development using Solidity, IPFS, Web3.js, Truffle, along with using the MERN stack to handle different functionalities on the application. We observed how big IPFS already is and how it can scale as per our requirements with the help of the Filecoin network. Also, Polygon can be used to scale and expand the scope of the application across various Ethereum-compatible blockchain networks without sacrificing the performance of our application.
- Moving between local and test blockchain networks
- Checking file formats from the IPFS file hash
- Connecting the tokens with post logic
- Integrated diverse tech stacks to work together
- Learned a lot about Ethereum blockchain and its technologies - FileCoin and Polygon.
- Joined the QuestBook community
Our app is still in the early stages of production, and there is a lot yet to come. We are planning to add the following features :
- Minting / Issuing a whistleblower native token to the user based on their activity on the site, just like basic attention token(BAT) in Brave browser.
- Filtering posts based on the category tag used
- Improving upon the comments and share button
- Using media queries to make it more reactive and responsive
- Animate on scroll to add animations and transitions for cards
- Evolving it into a progressive web application
You can find the demo video at Video.
You can find a running system to test at wb.noormohammed.tech
- Frontend - React.js, jQuery, Material UI, Semantic UI
- Backend - Node.js
- Smart Contracts - Solidity
- Blockchain - web3.js, Truffle, Ganache, Metamask, IPFS
- Others - Github (version control), AWS (deploy)
Please read here for details on our code of conduct, and the process for submitting pull requests to us.
We use github for versioning. Versions will be made available as tags on this repository.
- Bhanu - bhanu1037
- Prashant - pjflux2001
- Satyam - itzsatya
- Noor - noormohammedb
- Vishmay - Vishmay919
- Darshana - darshana-v
This project is licensed under the MIT License - see the LICENSE file for details
- Based on Billie Thompson's README template.