News Navigator is a React Native application designed to help users verify the authenticity of news articles and categorize them into relevant topics. Users can input either the URL or the description of a news article, and the app will classify it as real or fake. Additionally, users can bookmark or share articles for future reference.
The project leverages machine learning models trained on a dataset to perform fake news detection and news categorization.
- News Classification: Determine whether a news article is real or fake.
- Categorization: Classify news articles into specific categories based on content.
- User Inputs: Provide a link to the news article or input its description.
- Bookmarking: Save articles for future reading.
- Sharing: Share news articles with others directly from the app.
- React Native: Used for building the cross-platform mobile application.
- Machine Learning Models:
- Built using Python-based libraries and frameworks.
- Flask-based backend for machine learning model predictions.
- Node.js backend for authentication and MongoDB integration for storing user data and news articles
Eight machine learning models were trained for this project, focusing on fake news detection and categorization:
- Logistic Regression (Achieved the highest accuracy)
- Decision Tree
- Random Forest
- Stochastic Gradient Descent (SGD)
- Gradient Boosting
- XGBoost
- Naive Bayes
- Support Vector Machine (SVM)
The project relied on a labeled dataset for fake news detection and categorization. The dataset underwent preprocessing steps such as text cleaning, vectorization, and feature extraction.
Key Insights from Research:
- Logistic Regression outperformed other models, achieving the highest accuracy.
- Models like Gradient Boosting and XGBoost provided competitive results for specific cases.
- A combination of text vectorization techniques (e.g., TF-IDF) and robust feature engineering enhanced classification performance.
- Node.js
- React Native CLI
- Python environment with necessary ML libraries (for backend integration)
- Clone the repository:
git clone https://github.com/Geekyash10/NewsNavigator
- Navigate to the project directory:
cd NewsNavigator
- Install dependencies:
npm install
- Start the development server:
npx react-native run-android
For backend setup, ensure the machine learning API is hosted and accessible by the app.
![](/Geekyash10/NewsNavigator/raw/master/assets/image-7.png)
![](/Geekyash10/NewsNavigator/raw/master/assets/image-2.png)
![](/Geekyash10/NewsNavigator/raw/master/assets/image-4.png)
![](/Geekyash10/NewsNavigator/raw/master/assets/image-3.png)
![](/Geekyash10/NewsNavigator/raw/master/assets/image-5.png)
![](/Geekyash10/NewsNavigator/raw/master/assets/image-6.png)
- Choose to input a news article by pasting its URL or entering its description.
- View the classification results (Real or Fake) and the assigned category.
- Bookmark the article for future access or share it with others.
- Integration with more advanced deep learning models like transformers (e.g., BERT, RoBERTa).
- Support for multiple languages.
- Real-time news updates and push notifications.
- Enhanced user interface and experience.