PHPackages                             eftersom/larafeed - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. eftersom/larafeed

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

eftersom/larafeed
=================

Laravel feed.

v1.0.6(3y ago)027↓100%MITJavaScriptPHP ^7.3|^8.0

Since Jan 6Pushed 3y ago1 watchersCompare

[ Source](https://github.com/eftersom/larafeed)[ Packagist](https://packagist.org/packages/eftersom/larafeed)[ RSS](/packages/eftersom-larafeed/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (7)Dependencies (2)Versions (7)Used By (0)

 [![](https://github.com/eftersom/larafeed/raw/main/public/images/logo.jpg)](https://github.com/eftersom/larafeed/raw/main/public/images/logo.jpg)

System Requirements
-------------------

[](#system-requirements)

- PHP &gt;= 7.3
- Laravel &gt;= 6.\* (through to 9.\*)

Introduction
------------

[](#introduction)

Larafeed is an open source package for use within [Laravel](https://laravel.com) applications. This package focuses on allowing users to add an RSS feed reader to an existing Laravel application. Usable by multiple users within the same application.

 [![](https://github.com/eftersom/larafeed/raw/main/public/images/larafeedpageexample.png)](https://github.com/eftersom/larafeed/blob/main/public/images/larafeedpageexample.png)

Adding and removing feeds is simple! Search for a feed and if it's not right for you click on the 'x' to remove it.

A user can also share and view other user feeds within the same application.

Initial Setup
-------------

[](#initial-setup)

#### Composer

[](#composer)

Install by running the below command:

`composer require eftersom/larafeed`

#### Publishing Public Package Files

[](#publishing-public-package-files)

Once that's installed, run:

`php artisan vendor:publish`

Choose `larafeed-public`

This will install styles and images from the package and ensure they are useable in your project.

#### Running Migrations

[](#running-migrations)

Your migrations should be readily available, run:

`php artisan migrate`

If something goes wrong, then rollback your migration and refer to the next section.

#### Optional: Publish Migrations

[](#optional-publish-migrations)

The current feed structure should work for most projects without the need to change the database. However, if you have a different database setup, for instance maybe you're not using uuids for your user id. Then you will also need to run the following command:

`php artisan vendor:publish`

Then choose the option:

`larafeed-migrations`

This will copy the required migrations from the larafeed package into the main application database/migrations folder. From here you must change the migrations to suit your needs. As in the previous example, if you're using a big int increments id instead of uuid for your user id you can change the type for the feed\_user in {date\_string\_identifier}\_create\_feed\_user\_table.php like so:

`$table->uuid('user_id')->index()` -&gt; `$table->unsignedBigInteger('user_id')->index()`

And then run `php artisan migrate` as you otherwise would have done. This would in this example prevent foreign key constraint issues.

#### Set-up Complete!

[](#set-up-complete)

And as far as initial set-up, that's it! You're ready to go.

About Other Feed Types
----------------------

[](#about-other-feed-types)

Adding another feed type such as Atom to the feed application should be relatively simple.

Publish your Larafeed config file and then add the feed type to the config array. It's important to get the values here correct for fetching data from our Dom Document, Elements and Nodes.

For example:

```
    'atom-example' => [
        'namespace' => null,
        'type'      => 'atom',
        'version'   => '1.0',
        'query'     => '/atom',
    ],

```

The rest involves a little bit of coding. For example, support the Atom type by adding a new Feed and Entry object to the `src\Feed and src\Feed\Entry` folders e.g. `Atom.php and AtomEntry.php`.

#### How to Add Feed Types

[](#how-to-add-feed-types)

There are two options (and probably more besides.)

1- Add Feed and Entry classes to your main project and reference them in the published larafeed.php config.

2- OR fork Larafeed and add the classes to your forked project.

Adding Entry and Feed Classes to Main Project
---------------------------------------------

[](#adding-entry-and-feed-classes-to-main-project)

#### Create Feed and Entry classes

[](#create-feed-and-entry-classes)

First, add your classes to your main project(not the package), this can be anywhere that makes sense to your project, but for the example we will add these new feed classes to the folder `app\Packages\Larafeed`.

You will need two classes:

`app\Packages\Larafeed\Atom.php` with the namespace: `Eftersom\Larafeed\Feed`

`app\Packages\Larafeed\Entry\AtomEntry.php` with the namespace: `Eftersom\Larafeed\Feed\Entry`

It's important to include the -correct- namespaces so that composer can autoload our new Entry and Feed types correctly and so that the package will know where to look for them.

Remember in this example we're adding Atom feeds to the main application and not the package itself.

#### Important: Tell composer how to find the new package files

[](#important-tell-composer-how-to-find-the-new-package-files)

In your MAIN application composer.json your autoload specification should appear as below:

```
    "autoload": {
        "classmap": [
            "app/Packages/Larafeed/"
        ]
    },

```

Run:

`composer dump-autoload`

#### Add your new type to the accepted-types config

[](#add-your-new-type-to-the-accepted-types-config)

Finally, all you need to do is add your new Feed type to the 'accepted-types' config as outlined further down in this document. You will need to publish the package config to your main application config files.

`php artisan vendor:publish`

And choose `larafeed-config`.

#### Feed Type Installation Complete!

[](#feed-type-installation-complete)

And that's it! You should now be able to add any Feed type to the package using the above steps.

To see this in action in a fresh Laravel install, take a look at:

In this blank basic Laravel install you can see how Atom feeds can be added to the project for the package to discover. Take a look at the app/Packages folder, composer.json and also the larafeed.php config file found within the main application. It really is as simple as that!

Forking Larafeed
----------------

[](#forking-larafeed)

If you would prefer not to complete the previous steps then forking is always an option.

Add extra feed types to the package by forking it and then include further feed types directly within the forked package. Forking is a clean way to change the package whilst also allowing the merging of additional updates from the package author/authors.

Changing your accepted-types configuration
------------------------------------------

[](#changing-your-accepted-types-configuration)

Don't forget to change your Larafeed configuration by adding the new Atom accepted type and that's it! You're ready to go, the service for Larafeed should handle the new feed type dependant on how you've configured your Entry and your Feed objects.

```
    'accepted_types' => [
        'rss-20' => [
            'namespace' => null,
            'type'      => 'rss',
            'version'   => '2.0',
            'query'     => '/rss',
        ],
        'atom' => [
            'namespace' => 'http://www.w3.org/2005/Atom',
            'type'      => 'atom',
            'version'   => '1.0',
            'query'     => '/namespace:feed',
        ],
    ],

```

Updates
-------

[](#updates)

The current version of the package is listed at the top of this document.

### Planned updates are as follows:

[](#planned-updates-are-as-follows)

- Vueification of the frontend. Optimisation, utilising vuex component loading for quicker page load times.
- Larafeed-social: share feeds and allow a user to set their feed to public or private. Currently all user feeds are public to all web facing users.
- Allow users to have multiple feeds.
- Include more feed types in base package.

License
-------

[](#license)

Larafeed is open source, please refer to [MIT license](license).

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

6

Last Release

1215d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/169bed32137ffade52e5e2755e98e7b11c8b218c5210a8e22eafdbbc0dae69fd?d=identicon)[eftersom](/maintainers/eftersom)

---

Top Contributors

[![eftersom](https://avatars.githubusercontent.com/u/4028864?v=4)](https://github.com/eftersom "eftersom (2 commits)")

---

Tags

laravellaravel-frameworklaravel-packagerss-reader

### Embed Badge

![Health badge](/badges/eftersom-larafeed/health.svg)

```
[![Health](https://phpackages.com/badges/eftersom-larafeed/health.svg)](https://phpackages.com/packages/eftersom-larafeed)
```

###  Alternatives

[wireui/wireui

TallStack components

1.8k1.3M16](/packages/wireui-wireui)[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[ramonrietdijk/livewire-tables

Dynamic tables for models with Laravel Livewire

21147.4k](/packages/ramonrietdijk-livewire-tables)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
