Warning: Do not use this in production. Lara RSS is currently in early development stages
Lara RSS is a RSS Feed Reader built on Laravel.
This project aims to show the enormous value of RSS feeds and how they can be coupled with full-text search technologies like Algolia and Elastic Search to extract and analyze data more efficiently for a wide variety of uses.
This application will help kick start development for projects that require the extraction and indexing of RSS feed data.
This application is built on Laravel 5.6 so you will need a server or local environment that can support it's requirements. For full details visit the Laravel Documentation
- Server with PHP >= 7.1.3
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- Composer
- MySQL
- Clone or extract this repository into your destination folder
- Install Dependencies using
composer install
- Run the included database migrations by running
php artisan migrate
This project makes use of Laravel Scout, Laravel 5 Feeds by Will Vincent and the Simple Pie PHP Library.
By default, Laravel Scout ships with an Algolia driver for full-text search capabilities. Please check the .env.example
file for the credentials you will need if you will be using Algolia. You can create a free account here. You can add up to 10,000 records for free with Algolia. Another option is to swap out the Algolia driver and use Elastic Search which is open source but will have server requirements.
The application comes with user authentication so start by registering an account.
The Source Model will house all your RSS Feed sources.
Start by adding a RSS Source with a title and a valid RSS URL.
From this page, you'll be able to manually execute the extraction of your RSS sources and see when they were last updated.
The Item model will store all of your extracted feed items. This model can be made to be "Searchable" by adding use Searchable;
to the Item model in App\Item
Searchable will automatically sync all your item data to your Algolia account upon save.
The User Homepage will display your latest feed items.
The SourcesController comes with a SourceActions trait where you can add your own methods to run before or after a source is executed.
The method ExecuteSource($id)
in the SourcesController currently uses the lone feedRun trait method to extract feed data for a specific source.
To make changes to the way sources are extracted take a look at the Simple Pie API Documentation here