Skip to content

darshana-v/WhistleBlower

Repository files navigation

WhistleBlower

License Website

Defending facts on the web

Contents

  1. Description
  2. Demo video
  3. The architecture
  4. Live demo
  5. Built with
  6. Contributing
  7. Versioning
  8. Authors
  9. License
  10. Acknowledgments

Description

Inspiration

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.

What it does ?

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.

What we learned ?

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.

Challenges we ran into

  1. Moving between local and test blockchain networks
  2. Checking file formats from the IPFS file hash
  3. Connecting the tokens with post logic

Accomplishments that we're proud of

  1. Integrated diverse tech stacks to work together
  2. Learned a lot about Ethereum blockchain and its technologies - FileCoin and Polygon.
  3. Joined the QuestBook community

What's next for WhistleBlower

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 :

  1. 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.
  2. Filtering posts based on the category tag used
  3. Improving upon the comments and share button
  4. Using media queries to make it more reactive and responsive
  5. Animate on scroll to add animations and transitions for cards
  6. Evolving it into a progressive web application

Demo video

Watch the video

You can find the demo video at Video.

The architecture

Live demo

You can find a running system to test at wb.noormohammed.tech

Built with

  1. Frontend - React.js, jQuery, Material UI, Semantic UI
  2. Backend - Node.js
  3. Smart Contracts - Solidity
  4. Blockchain - web3.js, Truffle, Ganache, Metamask, IPFS
  5. Others - Github (version control), AWS (deploy)

Contributing

Please read here for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use github for versioning. Versions will be made available as tags on this repository.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published