Git Product home page Git Product logo

newsfuse's Introduction

NewsFuse Website Documentation

This documentation provides instructions on setting up and running the News Aggregator website project. The project consists of a backend application built with Laravel and a frontend application developed with React.js. Both applications are Dockerized, allowing for easy deployment and management.

Prerequisites

Before getting started, ensure that you have the following software installed on your machine:

Getting Started

Follow the steps below to set up and run the News Aggregator website:

  1. Clone the repository:

    git clone https://github.com/ayoubechara/NewsFuse.git
    cd NewsFuse
    
  2. Configure the backend:

    • Rename the .env.example file in the backend directory to .env and update the necessary configuration options such as database credentials, API keys, etc.
    • The API Keys you will need are: NewsAPI, The New York Times, The Guardian.
    NEWS_API_KEY=YOUR_NEWS_API_KEY
    NYT_API_KEY=YOUR_NEW_YORK_TIMES_API_KEY
    THE_GUARDIAN_API_KEY=YOUR_THE_GUARDIAN_API_KEY
    
  3. Build and run the project:

    docker-compose up -d --build
    
  4. Run Laravel migrations:

    docker exec -it newsfuse-backend-1 sh
    

    After that you have to migrate the tables with seeds to fill the categories table.

    php artisan migrate:refresh --seed
    
  5. Access the application:

Usage

Once the project is up and running, you can use the News Aggregator website as follows:

  1. User Registration and Authentication:

    • Visit the frontend application URL (http://localhost:3000) in your web browser.
    • Create a new account by clicking on the "Create account" link and providing the required information.
    • After creating your account you will get redirected to a page to select your preferred sources.
    • After successful registration, log in using your credentials on the login page.
  2. Article Search and Filtering:

    • On the homepage, you will find the news feed where you can search for articles by entering keywords in the search bar.
    • Use the provided filters (date, category, and source) to narrow down the search results.
  3. Personalized News Feed:

    • To customize your news feed according to your preferences, simply access the preferences page by clicking on 'Preferences' located in the user dropdown menu.
    • Select your preferred categories and sources to personalize the articles displayed on your news feed.
  4. Mobile-Responsive Design:

    • The News Aggregator website is optimized for viewing on mobile devices. You can access and use the website on your smartphone or tablet.

API Keys

To access the article data from various sources, the project relies on external APIs that may require API keys. Please make sure to obtain the necessary API keys (NewsAPI, NYT API, TheGuardianAPI) and update the corresponding configuration options in the .env file of the backend application.

newsfuse's People

Contributors

ayoubechara avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.