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.
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.
- 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
- 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
- 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
- HTML5 - Semantic markup
- CSS3 - Modern styling with Flexbox/Grid
- JavaScript (ES6+) - Interactive functionality
- Bootstrap 5 - Responsive UI framework
- jQuery - DOM manipulation and AJAX
- Git - Version control system
- VS Code - Code editor
- Django Debug Toolbar - Development debugging
- Pillow - Image processing
- WhiteNoise - Static file serving
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
- Python 3.8 or higher
- pip (Python package installer)
- Git
-
Clone the repository
git clone https://github.com/Raimal-Raja/News_App_Web-Application_Using_django.git cd News_App_Web-Application_Using_django -
Create virtual environment
python -m venv news_env # On Windows news_env\Scripts\activate # On macOS/Linux source news_env/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Database setup
python manage.py makemigrations python manage.py migrate
-
Create superuser (optional)
python manage.py createsuperuser
-
Run the development server
python manage.py runserver
-
Access the application Open your browser and navigate to:
http://127.0.0.1:8000/
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-passwordTo enable real-time news fetching:
- Register at NewsAPI
- Get your API key
- Add it to your environment variables
- Browse News: Visit the homepage to see latest news articles
- Filter by Category: Use category navigation to filter news
- Search: Use the search bar to find specific articles
- Read Articles: Click on any article to view full content
- User Account: Register/Login to bookmark articles and comment
- Access Admin Panel: Navigate to
/admin/with superuser credentials - Manage Articles: Add, edit, or delete news articles
- Manage Categories: Create and organize news categories
- User Management: Handle user accounts and permissions
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Raimal Raja
- GitHub: @Raimal-Raja
- LinkedIn: [https://www.linkedin.com/in/raimal-raja-kolhi-860a032bb/?trk=opento_sprofile_details]
- Email: [raimalrajagoal@gmail.com]
Data Scientist | Python Developer | ML Enthusiast
- Django Community for the excellent framework
- Bootstrap team for the responsive framework
- NewsAPI for providing news data
- All contributors who help improve this project
- 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
