PHPackages                             oburatongoi/productivity - 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. oburatongoi/productivity

ActiveLibrary

oburatongoi/productivity
========================

Productivity - A productivity API by Artisan Pixelworks

0.4.45(7y ago)1320[2 issues](https://github.com/oburatongoi/productivity/issues)MITVue

Since Jan 7Pushed 7y ago1 watchersCompare

[ Source](https://github.com/oburatongoi/productivity)[ Packagist](https://packagist.org/packages/oburatongoi/productivity)[ RSS](/packages/oburatongoi-productivity/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (148)Used By (0)

Productivity
------------

[](#productivity)

Installation
------------

[](#installation)

Compatible with Laravel 5. To install, run:

`$ composer install oburatongoi/productivity`.

Next, add the service provider to the provider array in the `app/config.app` file:

`Oburatongoi\Productivity\Providers\ProductivityServiceProvider::class,`

In your .env file, add the following variables:

`SESSION_DOMAIN=.your-domain.com` Note the `'.'` before the domain name.

`PRODUCTIVITY_LOGO=logo-text` defaults to 'Productivity'

`PRODUCTIVITY_DOMAIN=your-domain.com`

`PRODUCTIVITY_SUBDOMAIN=productivity`

If using Scout with Algolia, set the following environment variables

`FOLDER_INDEX_NAME=the-name-of-your-folder-index` defaults to `prod_FOLDERS`

`CHECKLIST_INDEX_NAME=the-name-of-your-folder-index` defaults to `prod_CHECKLISTS`

Be sure to update your DNS 'A' or 'CNAME' settings to include the new name and add SSL encryption for your desired subdomain if you do not have wildcard subdomain encryption.

Next, publish the package's views, migrations and routes:

`$ php artisan vendor:publish`

You will need to force publish the productivity config. Note that this will add or overwrite the following files in the config folder: productivity.php, fakeid.php and javascript.php:

`php artisan vendor:publish --tag=productivity --force`

Next, add the Productive trait to your app's User model:

```
use Oburatongoi\Productivity\Traits\Productive;

class User extends Authenticatable
{
    use Notifiable, Productive;

    // ... User class methods
}
```

To properly address certain exceptions, add the following to your `app\Exceptions\Handler.php` file:

```
use Illuminate\Session\TokenMismatchException as TokenMismatchException;
use AlgoliaSearch\AlgoliaException as AlgoliaException;

use Bugsnag;

class Handler extends ExceptionHandler
{
    /**
     * A list of the exception types that should not be reported.
     *
     * @var array
     */
    protected $dontReport = [
        \Illuminate\Session\TokenMismatchException::class,
        \AlgoliaSearch\AlgoliaException::class,
    ];

    /**
     * Report or log an exception.
     *
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
     *
     * @param  \Exception  $exception
     * @return void
     */
    public function report(Exception $exception)
    {
        Bugsnag::notifyException($exception);
        parent::report($exception);
    }

    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $exception
     * @return \Illuminate\Http\Response
     */
    public function render($request, Exception $exception)
    {

        if ($exception instanceof TokenMismatchException) {
            Bugsnag::notifyException($exception);

            if ($request->expectsJson()) return response()->json([
                'tokenMismatch' => true,
                'input' => $request->except(['password']),
                'url' => $request->fullUrl(),
                'method' => $request->method(),
                'token' => csrf_token()
            ]);
        }

        if ($exception instanceof AlgoliaException) {
            Bugsnag::notifyException($exception);

            if ($request->expectsJson()) return response()->json([
                'algoliaException' => true,
                'input' => $request->except(['password'])
            ]);
        }

        return parent::render($request, $exception);
    }
```

Finally, run the migration to add productivity's folders to the database. Note that productivity's tables all have the productivity\_ prefix, so make sure you don't have any naming conflicts in your database:

`$ php artisan migrate`

Getting Started
---------------

[](#getting-started)

When adding Productivity to a fresh Laravel installation, consider doing the following:

- Change app name in config/app
- Install Bugsnag
- Install and Configure Algolia
- Install and Configure Redis
- Install and Configure JosephSilber/bouncer package

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity71

Established project with proven stability

 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 ~3 days

Recently: every ~18 days

Total

147

Last Release

2895d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4d5d3a23702a1221a0a27a314251e0eac4d030c82a181432c3cafe4ef74a281a?d=identicon)[driftdares](/maintainers/driftdares)

---

Top Contributors

[![driftdares](https://avatars.githubusercontent.com/u/7968420?v=4)](https://github.com/driftdares "driftdares (310 commits)")

---

Tags

productivityproductivity-boosterproductivity-toolslaravelproductivity

### Embed Badge

![Health badge](/badges/oburatongoi-productivity/health.svg)

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

###  Alternatives

[laravel-doctrine/orm

An integration library for Laravel and Doctrine ORM

8425.3M87](/packages/laravel-doctrine-orm)[jeroen-g/explorer

Next-gen Elasticsearch driver for Laravel Scout.

397612.3k](/packages/jeroen-g-explorer)[masterro/laravel-mail-viewer

Easily view in browser outgoing emails.

6392.1k](/packages/masterro-laravel-mail-viewer)[romanstruk/manticore-scout-engine

Laravel Manticore Scout Engine

4818.1k](/packages/romanstruk-manticore-scout-engine)[dragon-code/laravel-http-logger

Logging incoming HTTP requests

319.8k3](/packages/dragon-code-laravel-http-logger)

PHPackages © 2026

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