Try it now ๐: https://quickfactchecker.onrender.com/
QuickFactChecker is a ๐ง machine learningโbased web app that helps detect whether a ๐ฐ news article is real or fake. It uses different models (e.g., Naive Bayes, LSTM ๐ง ) trained on the LIAR dataset ๐ to evaluate credibility and assist users in identifying potentially misleading information.
Build a more informed internet by making factโchecking fast, accessible, and trustworthy for everyone.
- โก Speed: deliver quick, reliable fakeโvsโreal assessments
- ๐ Clarity: present results with confidence and clear cues
- ๐ง Learning: support multiple models and continuous improvement
- ๐ Access: keep the app simple to use across devices
- ๐งญ Oneโplace check: paste text or URL and get a verdict fast
- ๐งฎ Multiple models: Naive Bayes, Logistic Regression, Random Forest, LSTM
- ๐ Transparent output: result + confidence to judge reliability
flowchart TD
A[User input: Text or URL] --> B[Fetch & preprocess]
B --> C[Language/i18n setup]
C --> D[Tokenize, normalize, clean]
D --> E[Feature extraction: TF-IDF / Embeddings]
E --> F{Model selected}
F --> F1[Naive Bayes]
F --> F2[Logistic Regression]
F --> F3[Random Forest]
F --> F4[LSTM]
F1 --> G[Prediction: Real / Fake]
F2 --> G
F3 --> G
F4 --> G
G --> H[Confidence / metrics]
H --> I[Display result in UI]
๐ This project is now an official part of GirlScript Summer of Code โ GSSoC'25! ๐ป We're thrilled to welcome contributors from all over India and beyond to collaborate, build, and grow QuickFactChecker! Letโs make learning and career development smarter โ together! ๐
๐ฉโ๐ป GSSoC is one of Indiaโs largest 3-month-long open-source programs that encourages developers of all levels to contribute to real-world projects ๐ while learning, collaborating, and growing together. ๐ฑ
๐ With mentorship, community support, and collaborative coding, it's the perfect platform for developers to:
- โจ Improve their skills
- ๐ค Contribute to impactful projects
- ๐ Get recognized for their work
- ๐ Receive certificates and swag!
๐ I canโt wait to welcome new contributors from GSSoC 2025 to this QuickFactChecker project family! Let's build, learn, and grow together โ one commit at a time. ๐ฅ
- โ Fake news classification using ML models (Naive Bayes, Logistic Regression, Random Forest, and LSTM).
- โ Interactive web app built with Flask and HTML templates ๐งช๐ฅ๏ธ.
- โ Automated NLTK Setup to prevent missing resource errors ๐งฉ.
- โ
Preprocessed dataset included (
train.tsv,test.tsv,valid.tsv) ๐๏ธ. - โ
Notebooks for data analysis & experimentation (
liar-data-analysis.ipynb,dataset.ipynb) ๐๐. - โ
Easy setup with
requirements.txtโ๏ธ.
QuickFactChecker/
โโโ .github/ # GitHub-related configurations
โ โโโ ISSUE_TEMPLATE/ # Templates for creating GitHub issues
โ โโโ workflows/ # GitHub Actions workflows (CI/CD automation)
โ โโโ pull_request_template.md # Template for new pull requests
โ
โโโ .venv/ # Virtual environment for Python dependencies
โ โโโ Lib/site-packages/ # Installed Python packages
โ
โโโ Public/ # Public assets (frontend files)
โ โโโ css/ # Stylesheets
โ โโโ js/ # JavaScript files
โ โโโ locales/ # Language translation files (i18n support)
โ โโโ index.html # Main HTML file
โ โโโ index_i18n.html # Multilingual HTML file
โ โโโ script.js # Main frontend script
โ โโโ style.css # Main stylesheet
โ
โโโ app.py # Flask application entry point
โโโ install_i18n.py # Script to set up internationalization (i18n)
โ
โโโ module/ # Custom Python modules
โ
โโโ dataset/ # Datasets and analysis notebooks
โ โโโ liar/ # LIAR dataset folder
โ โโโ dataset.ipynb # General dataset exploration notebook
โ โโโ fake-news-detection-ml-comparison.ipynb # Comparison of ML models
โ โโโ fake-news-detection-using-lr.ipynb # Logistic Regression implementation
โ โโโ fake-news-detection-using-lstm.ipynb # LSTM model notebook
โ โโโ fake-news-detection-using-nb.ipynb # Naive Bayes model notebook
โ โโโ fake-news-detection-using-svm.ipynb # SVM model notebook
โ โโโ fake-news-detection-using-xgboost.ipynb # XGBoost model notebook
โ โโโ liar-data-analysis.ipynb # Data analysis for LIAR dataset
โ
โโโ results/ # Folder for storing results, graphs, and metrics
โ
โโโ scripts/ # Additional scripts used in the project
โ
โโโ tests/ # Unit and integration tests
โ โโโ test_app.py # Tests for main app
โ โโโ tests_app.py # Additional test scripts
โ โโโ tests_dummy.py # Dummy test file
โ
โโโ utils/ # Utility modules
โ โโโ fetch_url.py # Helper function to fetch and preprocess URLs
โ
โโโ CODE_OF_CONDUCT.md # Community guidelines
โโโ CONTRIBUTING.md # Contribution guidelines
โโโ LICENSE # License information
โโโ LOGO.svg # Project logo
โโโ GSSoC.png # GSSoC banner image
โโโ MULTILINGUAL_SUPPORT.md # Guide for adding multiple language support
โโโ Readme.md # Main project documentation
โโโ debug.log # Debugging log file
โโโ .env # Environment variables
โโโ .gitignore # Files to be ignored by Git
โโโ .gitattributes # Git configuration for line endings
โโโ .coverage # Code coverage report
โโโ files.txt # Miscellaneous file list
-
๐ฅ Clone the repository and navigate into it:
git clone https://github.com/Deepika14145/QuickFactChecker.git cd QuickFactChecker -
๐งช Create virtual environment (optional but recommended)
python -m venv venv
-
โถ๏ธ Activate the virtual environment:source venv/bin/activate # for Linux/Mac venv\Scripts\activate # for Windows
-
๐ฆ Install the required dependencies:
pip install -r requirements.txt
-
๐ Download NLTK Corpora:
python scripts/setup_nltk.py- โ NLTK resource errors: run
python scripts/setup_nltk.pyagain; check internet connection - ๐ฆ Import errors: ensure virtualenv is active and
pip install -r requirements.txtran without errors - ๐ CORS or fetch failures for URLs: verify the target site is reachable; try plain text input
- ๐งช Notebook issues: update Jupyter and restart kernel; ensure correct interpreter (venv)
- ๐ Port in use: stop prior app instance or use a different port
We evaluated three models on the LIAR dataset using TF-IDF features. Example results ๐ (accuracy & precision): example:
| Model | Accuracy | Precision |
|---|---|---|
| Naive Bayes | 0.XXXX | 0.XXXX |
| Logistic Regression | 0.XXXX | 0.XXXX |
| Random Forest | 0.XXXX | 0.XXXX |
Logistic Regression achieved the highest accuracy among the tested baselines.
To reproduce these results, run:
scripts/fake_news_logreg_rf.py-
๐ข Run the following command to start the application:
python app.py
-
๐ฐ The app will provide predictions on whether a news article is real or fake based on the input.
To retrain or experiment with the models, run the provided Jupyter notebooks. Ensure your virtual environment is activated and all dependencies are installed.
Run the notebook:
jupyter notebook fake-news-detection-using-nb.ipynbRun the notebook:
jupyter notebook fake-news-detection-using-lstm.ipynbjupyter notebook liar-data-analysis.ipynbContributions are welcome! Whether youโre fixing typos, improving docs, or adding new features โ every PR helps. Follow these steps:
- ๐ด Fork the repository
- ๐ฟ Create a new branch (git checkout -b feature-name)
- ๐ ๏ธ Make your changes
- ๐ฌ Commit your changes (git commit -m 'description of your feature/fix')
- โฌ๏ธ Push to the branch (git push origin feature-name)
- ๐ Create a Pull Request
Please read CONTRIBUTING.md and follow our Code of Conduct.
The application is deployed on Render โ๏ธ and accessible at: https://quickfactchecker.onrender.com/
- โ Free hosting on Render ๐ธ
- โ Auto-deployment from GitHub commits ๐
- โ Production-ready with Gunicorn server ๐
- โ HTTPS enabled by default ๐
- โ Optimized requirements for faster build times โก
- Backend: Flask (Python) ๐
- Server: Gunicorn ๐ ๏ธ
- Platform: Render โ๏ธ
- CI/CD: GitHub integration ๐
For queries, feedback, or guidance regarding this project, you can contact the mentor assigned to the issue:
- ๐ฉ GitHub (Owner): Deepika14145
- ๐ฌ By commit/PR comments: Please tag the mentor in your commit or pull request discussion for direct feedback.
Original Repository: QuickFactChecker
A heartfelt thank you to all the contributors who have dedicated their time and effort to make this project a success.
Your contributionsโwhether itโs code, design, testing, or documentationโare truly appreciated! ๐
See full list of contribution from contributor Contributor Graph
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project useful, please give it a โญ๏ธ! Your support is appreciated!


