PHPackages                             areyi/taskmanager - 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. areyi/taskmanager

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

areyi/taskmanager
=================

A simple task manager for Laravel 5

0.3.2(10y ago)10475[1 issues](https://github.com/areyi/TaskManager/issues)BSD 3-ClausePHPPHP &gt;=5.4.0

Since Dec 27Pushed 10y ago4 watchersCompare

[ Source](https://github.com/areyi/TaskManager)[ Packagist](https://packagist.org/packages/areyi/taskmanager)[ RSS](/packages/areyi-taskmanager/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

TaskManager
===========

[](#taskmanager)

A simple task manager for Laravel

- Simple and extensible
- Method chaining
- Formatter (alpha)

TaskManager is a Laravel package which allows you to create projects, and create tasks. The package is in **development stage** for time being, and not ready for production uses.

---

### Version

[](#version)

0.3.2

### Requirements

[](#requirements)

- Laravel - version 5 (version 4 &lt;= untested, need help here).
- PHP - version =&gt; 5.3

---

### Installation

[](#installation)

Download the package as a zip, and then put it on /vendor folder.

Add the following line on your **composer.json** file, under the psr-4:

```
"psr-4": {
    ...
    "Areyi\\TaskManager\\": "vendor/areyi/taskmanager/src"
}

```

After that, register the TaskManagerServiceProvider in the /config/app.php file, under the **providers** array:

```
'Areyi\TaskManager\Laravel\TaskManagerServiceProvider'
```

And in the same file, put the TaskManager alias under the **aliases** array:

```
'TaskManager' => 'Areyi\TaskManager\Facades\TaskManager'
```

And finally, run all the migration files

```
php artisan migrate --path=vendor/areyi/taskmanager/src/database/migrations
```

---

Usage
-----

[](#usage)

First, you must supply with the user\_id (which you can get from your favourite authentication managers). This will make sure projects and tasks belongs to the right user.

```
$user_id = 1; // get from your login manager
TaskManager::setUserId($user_id);
```

### 1. To create a new project:

[](#1-to-create-a-new-project)

Try this:

```
$project_details = [
    'name' => 'New Project',
    'name' => 'new_project', //optional
];

TaskManager::addProject($project_details);
```

which will return:

```
Areyi\TaskManager\Base Object
(
    [userID] => 1
    [result] => 1
    [project_id] => 77
)

```

### 2. To create a new task:

[](#2-to-create-a-new-task)

You can straightaway creating a task without supplying the project\_id if you have created a project before

```
$task_details = [
    'name' => 'New Task'
];

TaskManager::addTask($task_details);
```

or you can also chain them to create multiple tasks:

```
TaskManager::addTask($task_details)->addTask($task2_details)->addTask($task3_details);
```

which will return:

```
Areyi\TaskManager\Base Object
(
    [userID] => 1
    [result] => 1
    [project_id] => 79
    [task_id] => Array
        (
            [0] => 75
            [1] => 76
            [2] => 77
        )
)

```

and you can also create project and add tasks to it at the same time:

```
TaskManager::addProject($project_details)->addTask($task_details)->addTask($task_details);
```

### 3. Get all projects:

[](#3-get-all-projects)

To get all existing projects:

```
TaskManager::getProjects();
```

which will returns straightaway:

```
Areyi\TaskManager\Base Object
(
    [userID] => 1
    [projects] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [name] => Web Development Project
                    [slug] => webdev
                    [owner_id] => 1
                    [owner] => admin
                    [created_at] => 2015-12-26 01:00:55
                    [updated_at] => 2015-12-26 01:00:55
                )

            [1] => Array
                (
                    [id] => 2
                    [name] => New Project
                    [slug] => new_project
                    [owner_id] => 2
                    [owner] => staff
                    [created_at] => 2015-12-26 01:43:38
                    [updated_at] => 2015-12-26 01:43:38
                )
        )
)

```

### 4. Get all tasks with specified project\_id

[](#4-get-all-tasks-with-specified-project_id)

To get all tasks assign to a project:

```
$project_id = 1;
TaskManager::getProject($project_id)->getTasks();
```

which returns:

```
Areyi\TaskManager\Base Object
(
    [userID] => 1
    [id] => 1
    [name] => Web Development Project
    [slug] => webdev
    [owner_id] => 1
    [owner] => admin
    [created_at] => 2015-12-26 01:43:38
    [updated_at] => 2015-12-26 01:43:38
    [tasks] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [name] => Buy a milk
                    [slug] =>
                    [author_id] => 1
                    [author] => admin
                    [completed] => 0
                    [description] =>
                    [created_at] => 2015-12-26 01:43:38
                    [updated_at] => 2015-12-26 01:43:38
                )

            [1] => Array
                (
                    [id] => 2
                    [name] => Buy a book
                    [slug] =>
                    [author_id] => 1
                    [author] => admin
                    [completed] => 0
                    [description] =>
                    [created_at] => 2015-12-26 01:43:38
                    [updated_at] => 2015-12-26 01:43:38
                )

        )

)

```

#### 5. Get the whole thing

[](#5-get-the-whole-thing)

You can also get all projects along with their tasks:

```
TaskManager::getAll();
```

#### 6. Delete a project

[](#6-delete-a-project)

To delete a project (this will also delete all tasks under the same project):

```
$projectId = 1;
TaskManager::deleteProject($projectId);
```

#### 7. Delete a task

[](#7-delete-a-task)

To delete a task:

```
$task_id = 1;
TaskManager::deleteTask($task_id);
```

#### 8. Mark a task as completed

[](#8-mark-a-task-as-completed)

To mark a task as completed:

```
TaskManager::completeTask($task_id)
```

---

### Formatting

[](#formatting)

This is **still under development**! TaskManager is included with a powerful formatter, allowing you to edit or delete projects/tasks and complete a task on the run. The formatter is powered by AJAX.

#### 1. Get all projects as list

[](#1-get-all-projects-as-list)

To list all projects as a list

```
TaskManager::getProjects()->format()->asList();
```

Result:

- Web Development Project (by admin) [Delete](#)
- Test Project (by admin) [Delete](#)

#### 2. Get all tasks as list

[](#2-get-all-tasks-as-list)

To list all tasks under a project as a list

```
$project_id = 1;
TaskManager::getProject($project_id)->getTasks()->format()->asList();
```

Result:

- Buy a milk [Complete](#)
- Buy a book [Complete](#)

---

### List of available routes

[](#list-of-available-routes)

These are the available routes in the package:

RouteUsesGET /taskmanager/list/allList all projects and tasksGET /taskmanager/list/projectsList all projectsGET /taskmanager/list/project/{project\_id}Get a project with the given project idGET /taskmanager/list/tasks/{project\_id}Get tasks associated with the project idGET /taskmanager/delete/project/{project\_id}Delete the projectGET /taskmanager/delete/task/{task\_id}Delete the taskGET /taskmanager/complete/task/{task\_id}Mark the task as completed---

### List of avaiable methods

[](#list-of-avaiable-methods)

These are the methods in the package:

MethodUsesTaskManager::setUserId($userId);Set the ownership for all projects and tasksTaskManager::addProject($project\_details);Create a new projectTaskManager::addTask($task\_details);Add a new taskTaskManager::getProjects();Get all projectsTaskManager::getProject($project\_id);Get a project by given project\_idTaskManager::getTasks();Get all tasksTaskManager::getTask($project\_id);Get a task by given project\_idTaskManager::getAll();Get all projects and their tasksTaskManager::deleteProject($projectId);Delete a projectTaskManager::deleteTask($taskId);Delete a taskTaskManager::completeTask($taskId);Mark a task as doneTaskManager::format();(todo)---

### Todos

[](#todos)

- Formatter (50%)

---

### License

[](#license)

BSD 3-Clause

### Contributions

[](#contributions)

Feel free to contribute to the project! It will be much appriciated! And most importantly, its a **Free Software, Hell Yeah!**

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance18

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

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

Total

2

Last Release

3837d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/16439715?v=4)[Areyi](/maintainers/areyi)[@areyi](https://github.com/areyi)

---

Tags

phplaravelproject-managertodotaskmanagertask-managerareyi

### Embed Badge

![Health badge](/badges/areyi-taskmanager/health.svg)

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

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M337](/packages/psalm-plugin-laravel)[renatomarinho/laravel-page-speed

Laravel Page Speed

2.5k1.7M11](/packages/renatomarinho-laravel-page-speed)[monicahq/laravel-cloudflare

Add Cloudflare ip addresses to trusted proxies for Laravel.

3413.0M5](/packages/monicahq-laravel-cloudflare)[bezhansalleh/filament-google-analytics

Google Analytics integration for FilamentPHP

211189.7k8](/packages/bezhansalleh-filament-google-analytics)[emargareten/inertia-modal

Inertia Modal is a Laravel package that lets you implement backend-driven modal dialogs for Inertia apps.

90142.9k](/packages/emargareten-inertia-modal)[zidbih/laravel-deadlock

Make temporary Laravel workarounds expire and fail CI when ignored.

984.0k](/packages/zidbih-laravel-deadlock)

PHPackages © 2026

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