PHPackages                             bpocallaghan/titan - 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. [Admin Panels](/categories/admin)
4. /
5. bpocallaghan/titan

ActiveLibrary[Admin Panels](/categories/admin)

bpocallaghan/titan
==================

Core framework for laravel projects (Laravel Admin Starter).

1.3.1(5y ago)5811.2k15[1 PRs](https://github.com/bpocallaghan/titan/pulls)MITBladePHP ^7.2

Since Apr 7Pushed 3y ago4 watchersCompare

[ Source](https://github.com/bpocallaghan/titan)[ Packagist](https://packagist.org/packages/bpocallaghan/titan)[ Patreon](https://www.patreon.com/bpocallaghan)[ RSS](/packages/bpocallaghan-titan/feed)WikiDiscussions master Synced 1mo ago

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

Titan
=====

[](#titan)

A Laravel Website and Admin Framework for your everyday Websites build in Laravel. This project is the core framework for [Laravel Starter](https://github.com/bpocallaghan/laravel-admin-starter). Please check this out for the detailed Features list and more.

### Test Driven Development

[](#test-driven-development)

- [titan-starter](https://github.com/bpocallaghan/titan-starter-website)
- I have started from scratch with a new test driven version. The end goal is to focus on TDD, more generic and easier to customize and help speed up your website development.

[Preview project here](http://bpocallaghan.ie)

- User:
- Password: github

Titan is nicely packaged for you so that you only have to do the following;

- install laravel
- composer require titan package
- \*create database
- \*setup virtual host/ host file
- run titan:setup command
- run titan:install command
- run titan:migrate command (optional)
- \*open browser

Then you have your Titan Admin Starter project with all the features ready to start your coding.

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

[](#installation)

Update your project's `composer.json` file.

```
composer require bpocallaghan/titan
```

```
php artisan titan:setup
```

It will do the following:

- `php artisan titan:publish --files=website`
- Update `app\User.php`
- Update `routes\web.php`
- Update `app\Http\Kernel.php`
- Update `app\Http\Handler.php`
- Update `config\app.php`

```
php artisan titan:install
```

It will do the following:

- Update `.env`
- `php artisan migrate`
- `php artisan titan:db:seed`
- `php artisan titan:publish --files=auth`

```
php artisan titan:migrate --name=
```

It will do the following:

- Specify the 'table types' you would like to migrate
- `blog, documents, faq, locations, news, newsletter_subscribers, photos, testimonials, shop`

```
(Optional)
Mail Layout
php artisan vendor:publish --tag=laravel-notifications
Mail Component
php artisan vendor:publish --tag=laravel-mail
```

It will publish the mail blade files to your project for you to edit.

Installation steps in Detail
----------------------------

[](#installation-steps-in-detail)

```
php artisan migrate
```

This will create the 'core/minimum' tables needed (users table will be altered). You can run `php artisan migrate --name=blog` to include the migration tables.

```
php artisan titan:db:seed
```

This will seed the core tables to get started

- roles
- banners
- pages
- navigation\_admin

```
php artisan titan:publish --files=website
```

This will copy all `Website` related files to your application.

- views, controllers and database seeds
- webpack.mix.js and packages.json
- resource/assets and public/assets (css, js, fonts, images)

Open `routes\web.php` and uncomment the `home` route.

Open `app\Http\Kernel.php` and add the below to the end of `$routeMiddleware` list.

```
'role'       => \Bpocallaghan\Titan\Http\Middleware\ValidateRole::class,
'auth.admin' => \Bpocallaghan\Titan\Http\Middleware\AuthenticateAdmin::class,
```

This is to register the Admin Middlewares

- AuthenticateAdmin - If the user logging in has the `admin` role.
- ValidateRole - Admin users can have multiple roles, filter the navigation on those roles.

Commands
--------

[](#commands)

The publish commands are used to copy the files from titan to your own application for customization. For example, you need to add or change a field in a table or update text or design in blade files.

```
php artisan titan:publish --files=app
php artisan titan:publish --files=assets
php artisan titan:publish --files=auth
php artisan titan:publish --files=banner
php artisan titan:publish --files=config
php artisan titan:publish --files=database
php artisan titan:publish --files=events
php artisan titan:publish --files=helpers
php artisan titan:publish --files=pages
php artisan titan:publish --files=public
php artisan titan:publish --files=routes
php artisan titan:publish --files=website
```

```
php artisan titan:publish --files=app
```

This will copy all `Models`, `Views` and `Controllers` to your application. This will also copy all `routes` and `RouteServiceProvider` to your application.

```
php artisan titan:publish --files=assets
```

This will copy all `assets (css, js, fonts, images)` and `webpack.js, package.json` to your application.

```
php artisan titan:publish --files=auth
```

This will copy all Auth related `Models`, `Views` and `Controllers` to your application.

```
php artisan titan:publish --files=banner
```

This will copy all Banner related `Models`, `Views` and `Controllers` to your application.

```
php artisan titan:publish --files=config
```

This will copy the config file of titan to your application. You can change the admin skin (blue, red, green, etc)

```
php artisan titan:publish --files=database
```

This will copy the `database/seeds` and `database/migrations` to your application.

```
php artisan titan:publish --files=events
```

This will copy all `Events`, `Listeners`, `Mails` and `Notifications` to your application.

```
php artisan titan:publish --files=helpers
```

This will copy all `Helpers`, and `HelperServiceProvider` to your application.

```
php artisan titan:publish --files=public
```

This will copy all `public (compiled css, js and also fonts and images)` to your application.

```
php artisan titan:publish --files=routes
```

This will copy all `routes`, and `RouteServiceProvider` to your application.

```
php artisan titan:publish --files=website
```

This will copy all `Website` related files to your application (views, controllers, assets).

**Note: If you are not going to run `php artisan titan:publish --files=routes`, remember to add the routes to your application.**

TODO
----

[](#todo)

- install command, remove laravel installed files (public/svg)
- create config file (don't load routes, etc)

**create new packages for**

- \*banners
- \*activity
- \*google analytics
- and more

###  Health Score

40

—

FairBetter than 87% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity34

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 85.3% 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 ~24 days

Recently: every ~64 days

Total

65

Last Release

2125d ago

Major Versions

0.2.11 → 1.0.02018-10-19

0.2.12 → 1.0.82018-12-12

0.2.13 → 1.0.172019-04-23

PHP version history (4 changes)0.0.1PHP &gt;=5.5.9

1.0.0PHP &gt;=7.0.0

1.0.1PHP ^7.1.3

1.2.0PHP ^7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/7cc52fc6eaeee1d7cbb729f7b7e7fb570754f4d2bb57847e5753f4e1041b7124?d=identicon)[bpocallaghan](/maintainers/bpocallaghan)

---

Top Contributors

[![bpocallaghan](https://avatars.githubusercontent.com/u/883465?v=4)](https://github.com/bpocallaghan "bpocallaghan (238 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (34 commits)")[![ClaudiuDev](https://avatars.githubusercontent.com/u/8613302?v=4)](https://github.com/ClaudiuDev "ClaudiuDev (6 commits)")[![nadja97](https://avatars.githubusercontent.com/u/30344577?v=4)](https://github.com/nadja97 "nadja97 (1 commits)")

---

Tags

hacktoberfesthacktoberfest2021laravelhelperscontrollerscmsphotospagesmodelsadmintraitstitanpage builder

### Embed Badge

![Health badge](/badges/bpocallaghan-titan/health.svg)

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

###  Alternatives

[bpocallaghan/laravel-admin-starter

The Laravel Framework.

3511.4k](/packages/bpocallaghan-laravel-admin-starter)[serverfireteam/blog

A nice blog system with laravel and laravelpanel

523.1k](/packages/serverfireteam-blog)

PHPackages © 2026

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