Skip to content

A real-time News Aggregator built with Django and Bootstrap, featuring user authentication and personalized saved articles.

License

Dakshaaaaa/news_aggregator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📰 Django News Aggregator

Overview

This is a web application built with the Django framework that aggregates real-time headlines from various sources using a third-party news API. It features a modern, dark-themed UI and includes full user authentication, allowing users to log in, save articles, and manage their personalized reading list.

🖼️ Screenshots

Home Page Search Results SignUp Page Login Page

🚀 Features

  • Real-time News Fetching: Integrates with the NewsData.io API to pull live headlines across various categories (Technology, Sports, Politics, etc.).
  • User Authentication: Full implementation of Login, Sign Up, and Logout functionality using Django's built-in authentication system.
  • Personalized Reading List: Logged-in users can save and unsave articles, which are persisted in a personalized "Saved Articles" section using a many-to-one relationship model.
  • Search and Categorization: Allows users to filter news by category and perform keyword searches across all available articles.
  • Modern UI/UX: Built using Bootstrap 5 with custom CSS for an attractive, professional, and classy dark theme.
  • AJAX Integration: Uses JavaScript/Fetch API for non-blocking actions like saving an article.

💻 Tech Stack

  • Backend Framework: Python 3.13 + Django 5.2.7
  • Database: SQLite3 (development)
  • API: NewsData.io
  • Frontend: HTML5, CSS3, Bootstrap 5, Jinja Templating

⚙️ Installation and Setup

1. Clone the Repository

git clone https://github.com/Dakshaaaaa/news_aggregator.git
cd news_aggregator

2. Set up the Environment

python -m venv venv
.\venv\Scripts\activate # Windows
OR
source venv/bin/activate # macOS/Linux
pip install django
python manage.py makemigrations news
python manage.py migrate
python manage.py runserver

The application will be available at: http://127.0.0.1:8000/

🔑 License

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

About

A real-time News Aggregator built with Django and Bootstrap, featuring user authentication and personalized saved articles.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published