Skip to content

zanderlewis/balance-news

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d7e5031Β Β·Β Β· Jun 11, 2025

History

10 Commits
Jun 9, 2025
Jun 11, 2025
Jun 9, 2025
Jun 9, 2025
Jun 11, 2025
Jun 9, 2025
Jun 11, 2025
Jun 11, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 10, 2025
Jun 10, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025
Jun 9, 2025

Repository files navigation

Balance News

See the full picture of every story. Compare news coverage across the entire political spectrum.

Balance News is a comprehensive news aggregation platform that brings you balanced news coverage by providing perspectives from left, center, and right-leaning sources. Break out of information silos and get the complete story on current events.

✨ Features

  • πŸ”„ Multi-Perspective Analysis - Compare how the same story is covered across left, center, and right-leaning news sources
  • πŸ” Smart Search & Filteringring - Find relevant stories quickly with powerful search and filter by bias, source, or time range
  • ⚑ Daily Updates - Stay informed with the latest news from trusted sources, updated every day
  • 🎯 Bias Transparency - Each source is clearly labeled with its bias rating so you can make informed reading choices
  • πŸ“± Mobile Optimized - Read balanced news anywhere with our responsive design that works on all devices
  • πŸ” User Authentication - Personal dashboard with bookmarking and reading preferences

πŸ› οΈ Tech Stack

Backend

  • Laravel 12 - PHP web application framework
  • Livewire/Volt - Full-stack reactive components
  • Flux UI - Modern UI components for Livewire
  • SQLite - Lightweight database for development

Frontend

  • Tailwind CSS 4.1 - Utility-first CSS framework
  • Vite - Fast build tool and development server
  • Responsive Design - Mobile-first approach with dark mode support

Tools & Utilitiesties

  • Python Scripts - RSS feed processing and data extraction
  • Composer - PHP dependency management
  • NPM - JavaScript package management

πŸš€ Getting Started

Prerequisites

  • PHP 8.4
  • Composer
  • Node.js & NPM NPM
  • UV (for Python tools)

Installation

  1. Clone the repository

    git clone repository-url>gt;
    
    cd balance.news
  2. Install PHP dependencies

    composer install
  3. Install JavaScript dependencies

    npm install
  4. Install Python dependencies

    uv sync
  5. Set up environment

    cp .env.example .env
    php artisan key:generatee
  6. Database setup

    php artisan migrate
    php artisan db:seedd
  7. Build assets

    npm run dev
  8. Start the development server

    php artisan serve

Visit http://localhost:8000 to access the application.

πŸ“Š Database Structure

Core Models

  • NewsSource - News outlets with bias ratings and RSS feeds
  • Article - Individual news articles with metadata
  • RssFeed - RSS feed configurations for automated content ingestion
  • User - User accounts with authentication
  • UserBookmarks - Saved articles for users

Key Features

  • Bias Classification - Sources are categorized as left, center, or right-leaning
  • RSS Automation - Automated content ingestion from multiple news sources
  • User Preferences - Personalized reading experience with bookmarks

πŸ”§ Development

Running in Development Mode

Start the development servers:

php artisan serve
npm run devv

RSS Feed Management

Update RSS feeds using the Python tools:

python tools/orchestrate_feeds.py

🌟 Key Components

News Aggregation

  • Automated RSS feed processing
  • Article deduplication and categorization
  • Bias rating integration

User Interface

  • Clean, modern design with dark mode
  • Responsive layout for all devices
  • Interactive comparison views

Data Management

  • SQLite for development simplicity
  • Efficient article storage and retrieval
  • User preference tracking

πŸ”„ RSS Feed Processing

The platform includes Python tools for automated news aggregation:

  • update_rss_feeds.py - Fetches latest articles from RSS feeds
  • orchestrate_feeds.py - Coordinates feed processing workflows
  • extract-xml.py - XML parsing utilities

🎨 UI/UX Features

  • Multi-perspective Grid - Side-by-side comparison of news coverage
  • Bias Indicators - Color-coded source labels (blue/gray/red)
  • Modern Design - Gradient backgrounds and smooth animations
  • Accessibility - ARIA labels and keyboard navigation support

πŸ“± Responsive Design

The platform is optimized for:

  • Desktop - Full-featured dashboard experience
  • Tablet - Optimized grid layouts
  • Mobile - Touch-friendly navigation and reading experience

πŸ” Authentication

  • User registration and login
  • Session management
  • Protected routes for user-specific features
  • Profile settings and preferences

Releases

No releases published

Sponsor this project

Packages

No packages published