Skip to content

A modern, responsive news aggregator built with Django. Fetches real-time updates across diverse categories and delivers a seamless reading experience using a clean and mobile-first interface.

Notifications You must be signed in to change notification settings

Raimal-Raja/News_App_Web-Application_Using_django

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“° News App Web Application

Django Python HTML5 CSS3 JavaScript Bootstrap

A modern, responsive news web application built with Django framework that provides real-time news updates across various categories. This web application delivers a seamless news reading experience with a clean, user-friendly interface.

πŸ“Έ Screenshots

News App Homepage

πŸš€ Project Overview

Project Type: Web Development / Full-Stack Application
Category: News & Media Web Application
Framework: Django (Python Web Framework)

This News App is a comprehensive web application that aggregates and displays news articles from various sources, providing users with an intuitive platform to stay informed about current events across multiple categories.

✨ Features

πŸ”₯ Core Features

  • Real-time News Feed: Dynamic news content with automatic updates
  • Category-based Filtering: Browse news by categories (Politics, Sports, Technology, Entertainment, etc.)
  • Search Functionality: Advanced search to find specific news articles
  • Responsive Design: Mobile-first approach ensuring compatibility across all devices
  • Article Detail View: Comprehensive article pages with full content
  • Social Sharing: Share articles across social media platforms
  • Bookmarking System: Save articles for later reading
  • User Authentication: Secure user registration and login system

🎯 Advanced Features

  • Admin Dashboard: Content management system for administrators
  • Comment System: User engagement through article comments
  • Newsletter Subscription: Email notifications for latest news
  • Dark/Light Mode: Theme switching for better user experience
  • SEO Optimization: Search engine friendly URLs and meta tags
  • Caching System: Improved performance with Django caching
  • API Integration: External news APIs for diverse content sources

πŸ› οΈ Technologies & Tools

Backend Technologies

  • Django 4.x - High-level Python web framework
  • Python 3.8+ - Core programming language
  • SQLite/PostgreSQL - Database management
  • Django REST Framework - API development
  • Django ORM - Object-Relational Mapping

Frontend Technologies

  • HTML5 - Semantic markup
  • CSS3 - Modern styling with Flexbox/Grid
  • JavaScript (ES6+) - Interactive functionality
  • Bootstrap 5 - Responsive UI framework
  • jQuery - DOM manipulation and AJAX

Development Tools

  • Git - Version control system
  • VS Code - Code editor
  • Django Debug Toolbar - Development debugging
  • Pillow - Image processing
  • WhiteNoise - Static file serving

πŸ“ Project Structure

News_App_Web-Application_Using_django/
β”œβ”€β”€ news_project/
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ settings.py
β”‚   β”œβ”€β”€ urls.py
β”‚   β”œβ”€β”€ wsgi.py
β”‚   └── asgi.py
β”œβ”€β”€ news_app/
β”‚   β”œβ”€β”€ migrations/
β”‚   β”œβ”€β”€ static/
β”‚   β”‚   β”œβ”€β”€ css/
β”‚   β”‚   β”œβ”€β”€ js/
β”‚   β”‚   └── images/
β”‚   β”œβ”€β”€ templates/
β”‚   β”‚   β”œβ”€β”€ base.html
β”‚   β”‚   β”œβ”€β”€ index.html
β”‚   β”‚   β”œβ”€β”€ article_detail.html
β”‚   β”‚   └── category.html
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ admin.py
β”‚   β”œβ”€β”€ apps.py
β”‚   β”œβ”€β”€ models.py
β”‚   β”œβ”€β”€ views.py
β”‚   β”œβ”€β”€ urls.py
β”‚   └── forms.py
β”œβ”€β”€ media/
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ manage.py
└── README.md

πŸš€ Installation & Setup

Prerequisites

  • Python 3.8 or higher
  • pip (Python package installer)
  • Git

Quick Start

  1. Clone the repository

    git clone https://github.com/Raimal-Raja/News_App_Web-Application_Using_django.git
    cd News_App_Web-Application_Using_django
  2. Create virtual environment

    python -m venv news_env
    
    # On Windows
    news_env\Scripts\activate
    
    # On macOS/Linux
    source news_env/bin/activate
  3. Install dependencies

    pip install -r requirements.txt
  4. Database setup

    python manage.py makemigrations
    python manage.py migrate
  5. Create superuser (optional)

    python manage.py createsuperuser
  6. Run the development server

    python manage.py runserver
  7. Access the application Open your browser and navigate to: http://127.0.0.1:8000/

πŸ”§ Configuration

Environment Variables

Create a .env file in the project root:

SECRET_KEY=your-secret-key-here
DEBUG=True
DATABASE_URL=sqlite:///db.sqlite3
NEWS_API_KEY=your-news-api-key
EMAIL_HOST_USER=your-email@gmail.com
EMAIL_HOST_PASSWORD=your-email-password

API Integration

To enable real-time news fetching:

  1. Register at NewsAPI
  2. Get your API key
  3. Add it to your environment variables

πŸ“ Usage

For Users

  1. Browse News: Visit the homepage to see latest news articles
  2. Filter by Category: Use category navigation to filter news
  3. Search: Use the search bar to find specific articles
  4. Read Articles: Click on any article to view full content
  5. User Account: Register/Login to bookmark articles and comment

For Administrators

  1. Access Admin Panel: Navigate to /admin/ with superuser credentials
  2. Manage Articles: Add, edit, or delete news articles
  3. Manage Categories: Create and organize news categories
  4. User Management: Handle user accounts and permissions

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Steps to Contribute

  1. Fork the repository
  2. Create a feature branch (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

πŸ“„ License

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

πŸ‘¨β€πŸ’» Developer

Raimal Raja

Data Scientist | Python Developer | ML Enthusiast

πŸ™ Acknowledgments

  • Django Community for the excellent framework
  • Bootstrap team for the responsive framework
  • NewsAPI for providing news data
  • All contributors who help improve this project

πŸ“Š Project Stats

  • Language: Python (Django)
  • Database: SQLite (Development) / PostgreSQL (Production)
  • Responsive: Yes, mobile-first design
  • Real-time: Yes, live news updates
  • API Ready: RESTful API endpoints available

⭐ Star this repository if you found it helpful!

Built with ❀️ using Django

About

A modern, responsive news aggregator built with Django. Fetches real-time updates across diverse categories and delivers a seamless reading experience using a clean and mobile-first interface.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages