Welcome to Project FNA.ai! This is a decentralized application (dApp) designed to provide a secure platform for uploading, analyzing, and verifying the authenticity of videos. The system utilizes AI models to ensure accuracy and blockchain technology to provide an immutable and transparent record of validated content.
Our dApp allows users to upload videos along with captions and taglines. The uploaded content is analyzed by AI for authenticity, and if validated, it is stored securely on the blockchain.
Steps:
- User selects a video file to upload.
- AI-based model analyzes the video.
- Upon validation, the video, caption, and tagline are stored on the blockchain.
A handy browser extension enables users to check the credibility of news articles by hovering over them. It provides instant feedback on authenticity by cross-referencing with trusted sources.
Steps:
- Users hover over a news article.
- The extension analyzes the article’s content.
- Instant feedback is provided, indicating if the article contains misinformation.
Users can upload a news-related video, and our AI model will verify its authenticity by detecting signs of tampering, deepfakes, and other manipulations.
Steps:
- Upload the video.
- AI analysis checks for deepfakes or manipulations.
- Validation results are provided.
With the content checker, users can input a news headline or other textual content into a search bar to verify its authenticity. The system cross-references the text with trusted sources.
Our system integrates blockchain technology to store validated videos and content in a decentralized and immutable way. It prevents redundancy by checking the blockchain for previously validated content before allowing new uploads.
Steps:
- Content is uploaded.
- The system checks if a similar validated video exists on the blockchain.
- If found, the system updates the existing record. If not, a new entry is created.
Users can upload a video or audio clip, and our system converts the audio into text. It then compares the transcript with news websites to check for authenticity.
After a successful video upload and verification, the system generates a contract containing the video, its metadata, the time of deployment, and the blockchain contract key. This serves as an immutable record of the upload process.
/project-root
│
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── App.js
│ │ │ └── VideoForm.js
│ │ ├── blockchain/
│ │ │ ├── blockchain.js
│ │ │ └── contractABI.json
│ │ ├── ai/
│ │ │ └── aiModel.js
│ │ ├── index.js
│ │ └── index.css
│ ├── public/
│ │ └── index.html
│ └── package.json
│
├── server/ # Backend server
│ ├── app.js # Express server setup
│ ├── blockchain/
│ │ └── blockchainServer.js # Handles blockchain interactions
│ ├── ai/
│ │ └── aiServer.js # Handles AI video analysis
│ └── package.json
│
└── README.md
- React: For a fast, scalable, and modern user interface.
- Material-UI: For a sleek, responsive design.
- Express.js: To handle server-side logic and API requests.
- Web3.js: For blockchain interactions.
- Ethereum Smart Contracts: Written in Solidity, handling video uploads and storage.
- IPFS: Used for decentralized video storage off-chain.
- Python AI Libraries: (TensorFlow, PyTorch) Used for video and audio analysis to verify authenticity.
- Node.js and npm installed.
- Python (for AI processing).
- A local Ethereum node or testnet setup.
-
Clone the Repository
git clone https://github.com/your-username/News.Analysis.git
-
Install Dependencies Navigate to the project directory and install the required packages:
cd News.Analysis npm install
-
Start the Frontend
cd client npm start
-
Start the Backend Open another terminal and start the server:
cd server npm start
-
Run AI Services Ensure Python and necessary libraries are installed, and run the AI services for video analysis.
-
Test Blockchain Integration Ensure you have a test Ethereum node running, then interact with the dApp using the integrated Web3 interface.
We welcome contributions to improve the project. To contribute:
- Fork the repository.
- Create a feature branch.
- Commit your changes and open a pull request.
For any queries, feel free to reach out at: [email protected]