Skip to content

A responsive news aggregator built with React.js, featuring keyword search, advanced filtering, and personalized feeds from multiple reputable sources. It offers an intuitive, seamless user experience across all devices.

License

Notifications You must be signed in to change notification settings

tvirat/HNHNewsAggregator

Repository files navigation

Horizon News Hub (News Aggregator Application) Netlify Status

Brief Description

Horizon News Hub is a modern and responsive news aggregator web application built with React.js. It pulls news articles from multiple trusted sources, providing a seamless experience for users to explore, search, and personalize their news feed. With robust filtering options and a clean interface, the application focuses on delivering news efficiently and intuitively. The project is containerized using Docker and deployable on various platforms.

Index

  1. Features
  2. Technologies Used
  3. Setup and Installation
  4. Usage and Examples
  5. Code Organization and Structure
  6. Contributions and Feedback
  7. Acknowledgements and Credits
  8. License

Features

  • Article Search and Filtering:
    • Search for articles using keywords.
    • Filter results by date, category, and source.
  • Personalized News Feed:
    • Create a custom feed by selecting preferred news sources, categories, and authors.
  • Mobile-Responsive Design:
    • Fully optimized for desktop and mobile viewing.
  • API Integration:
    • Leverages multiple APIs (NewsAPI, The Guardian API, New York Times API) to gather diverse and up-to-date articles.

Technologies Used

Setup and Installation

To run the application locally or in a Dockerized environment, follow these steps:

  1. Clone the Repository:
    git clone https://github.com/yourusername/horizon-news-hub.git
    cd horizon-news-hub
  2. Install Dependencies: Ensure you have Node.js installed. Run:
    npm install
  3. Install Dependencies: Ensure you have Node.jsinstalled. Run:
    REACT_APP_NEWS_API_KEY=your_newsapi_key
    REACT_APP_GUARDIAN_API_KEY=your_guardian_key
    REACT_APP_NYT_API_KEY=your_nyt_key
  4. Run the Application: Start the development server with:
    npm start
    
    The application will be available at http://localhost:3000.
  5. Docker Deployment (Optional): Build and run the Docker container:
    docker build -t horizon-news-hub .
    docker run -p 80:80 horizon-news-hub
    
    Or, using Docker Compose:
    docker-compose up --build
    

Code Organization and Structure

horizon-news-hub/
│
├── public/
│   ├── index.html
│   └── ...
│
├── src/
│   ├── components/              # Reusable components
│   │   ├── Error/
│   │   ├── Loading/
│   │   ├── NavBar/
│   │   ├── News/
│   │   ├── NewsCard/
│   │   ├── NoDataFound/
│   │   ├── NoRouteFound/
│   │   ├── ScrollToTop/
│   │   └── ...
│   │
│   ├── config/                  # API configurations and constants
│   ├── images/                  # Static assets
│   ├── pages/                   # Page-level components
│   │   ├── HomePage/
│   │   ├── PersonalizedPage/
│   │   └── ...
│   │
│   ├── router/                  # Routing configuration
│   ├── store/                   # Redux state management
│   ├── App.css                  # Global styles
│   ├── App.js                   # Main component
│   ├── index.css                # Index styles
│   ├── index.js                 # Entry point
│   └── ...
│
├── .dockerignore
├── .env
├── .gitignore
├── docker-compose.yml
├── Dockerfile
├── package.json
└── ...

Contributions and Feedback

This project is no longer accepting contributions. However, I would love to hear your feedback to improve my future projects. Feel free to reach out through GitHub Issues.

Acknowledgements and Credits

License

This project is licensed under the MIT License. For more details, see the LICENSE file.

About

A responsive news aggregator built with React.js, featuring keyword search, advanced filtering, and personalized feeds from multiple reputable sources. It offers an intuitive, seamless user experience across all devices.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published