Back to projects

Fake News Detection

A Flutter-based mobile application with a Flask backend that helps users identify potential fake news articles using machine learning and interactive features.

GitHub →

Our Fake News Detection app combines a Flutter frontend with a Flask backend to create a powerful tool for combating misinformation. This project leverages machine learning to analyze news articles and provide users with real-time authenticity assessments.

Key Features

  • Interactive Flutter-based frontend with draggable elements
  • Flask backend with integrated machine learning model
  • Clipboard integration for easy text analysis
  • Real-time API communication between frontend and backend
  • User-friendly manual entry and issue reporting options

Technology Stack

  • Frontend: Flutter
  • Backend: Flask (Python)
  • Machine Learning: Scikit-learn, TensorFlow (specify as appropriate)
  • API Communication: HTTP package (Flutter), Flask-RESTful (Python)
  • Database: SQLite (or your chosen database)

Installation Guide

Prerequisites

  • Flutter SDK (latest stable version)
  • Python 3.8+
  • pip (Python package manager)
  • Git

Frontend Setup (Flutter)

  1. Clone the repository:

    git clone https://github.com/amanjoshi2002/fakenewsdetection.git
    cd fake-news-detection/frontend
  2. Install Flutter dependencies:

    flutter pub get
  3. Run the app on an emulator or physical device:

    flutter run

Backend Setup (Flask)

  1. Navigate to the backend directory:

    cd ../backend
  2. Create a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  3. Install Python dependencies:

    pip install -r requirements.txt
  4. Set up the database:

    flask db upgrade
  5. Run the Flask server:

    flask run

Connecting Frontend to Backend

  1. Open lib/config.dart in the Flutter project.
  2. Update the API_URL to match your Flask server

Usage

  1. Launch the app on your device or emulator.
  2. Use the draggable arrow on the front page to access the main features.
  3. Activate the bubble overlay for quick access to news analysis.
  4. Paste text from your clipboard or use manual entry to analyze news articles.
  5. View the AI-powered prediction on the authenticity of the news.
  6. Report any issues or potential fake news articles through the app.

Development and Contribution

We welcome contributions to both the Flutter frontend and Flask backend! Here's how you can contribute:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

Please ensure that your code adheres to our coding standards and includes appropriate tests.

Future Enhancements

  • Implement multi-language support
  • Enhance the machine learning model with more diverse training data
  • Develop a web interface for broader accessibility
  • Integrate with popular news aggregation platforms

For more detailed information, please refer to our documentation. If you encounter any issues or have questions, feel free to open an issue on our GitHub repository.