PHPackages                             ninjaportal/kickstart - 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. ninjaportal/kickstart

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

ninjaportal/kickstart
=====================

NinjaPortal starter application template.

00PHPCI failing

Since Mar 2Pushed 2mo agoCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

[ ![Ninja Portal Logo](https://camo.githubusercontent.com/52ddf52628569d2e3b2d6bf5e7516e386ab220fd1459670a65bf60eaa0fbf1bd/68747470733a2f2f692e6962622e636f2f52706d7139334c722f436f70792d6f662d4e696e6a612d546563682d6c6f676f2d74656d706c6174652d312e706e67) ](https://ninjaportal.net)NinjaPortal Kickstart
=====================

[](#ninjaportal-kickstart)

Starter Laravel application template prepared for NinjaPortal.

Use this template to bootstrap a production-ready NinjaPortal application with the Portal package, Filament admin, and the Shadow theme already wired in.

Requirements
------------

[](#requirements)

- PHP `^8.2`
- Composer 2
- A database (MySQL recommended for real projects)
- Node.js + npm (only if you want to build frontend assets)

1. Create The Project
---------------------

[](#1-create-the-project)

Install the template through Composer:

```
composer create-project ninjaportal/kickstart your-project-name
cd your-project-name
```

2. Install Dependencies
-----------------------

[](#2-install-dependencies)

If you are working from the repository directly instead of `create-project`, install the locked dependencies:

```
composer install
```

Then install JS dependencies if needed:

```
npm install
```

3. Configure Environment
------------------------

[](#3-configure-environment)

Copy the environment file and generate the application key:

```
cp .env.example .env
php artisan key:generate
```

Update database credentials in `.env`, then configure NinjaPortal / Apigee values (already included in `.env.example`):

```
APIGEE_PLATFORM=edge
APIGEE_ENDPOINT=https://api.enterprise.apigee.com/v1
APIGEE_ORGANIZATION=your-org
APIGEE_USERNAME=your-username
APIGEE_PASSWORD=your-password

APIGEE_MONETIZATION_ENABLED=false
APIGEE_MONETIZATION_PLATFORM=edge
APIGEE_MONETIZATION_ENDPOINT=https://api.enterprise.apigee.com/v1/mint
```

if using Apigee X:

```
APIGEE_DRIVER=apigeex
APIGEE_ENDPOINT=https://apigee.googleapis.com/v1
APIGEE_ORGANIZATION=your-org
```

4. Installations
----------------

[](#4-installations)

### 4.1 Install NinjaPortal

[](#41-install-ninjaportal)

Run the package installer:

```
php artisan portal:install
```

What this does:

- publishes NinjaPortal config
- publishes Spatie permission migrations
- runs migrations
- seeds baseline settings + RBAC permissions
- adds `App\Providers\NinjaPortalServiceProvider` to your application bootstrap providers

Optional flags:

```
php artisan portal:install --force-provider-overwrite
php artisan portal:install --delete-default-users-migration
```

We recommend using the `--delete-default-users-migration` flag if you are installing NinjaPortal on a fresh laravel project, as it will delete the default `users` table migration.

### 4.2 Install Shadow theme

[](#42-install-shadow-theme)

```
php artisan shadow:install
```

Shadow theme is shipped with pre-built assets.

### 4.3 Install Filament Admin

[](#43-install-filament-admin)

```
php artisan filament:install
```

This will install Filament Admin and its dependencies.

5. (Optional) Seed Demo Data
----------------------------

[](#5-optional-seed-demo-data)

```
php artisan portal:seed --demo
```

Useful seed options:

```
php artisan portal:seed --all
php artisan portal:seed --settings --rbac
```

### Seeded Demo Accounts

[](#seeded-demo-accounts)

After running `php artisan portal:seed --demo`, the following demo accounts are available:

TypeNameEmailPasswordNotesAdminPortal Owner`admin@ninjaportal.test``password`Assigned the `super_admin` role when RBAC is seededAdminSupport Admin`support.admin@ninjaportal.test``password`Assigned the `super_admin` role when RBAC is seededUserJade Summers`jade.summers@ninjaportal.test``password`Active userUserMarco Diaz`marco.diaz@ninjaportal.test``password`Active userUserPriya Nair`priya.nair@ninjaportal.test``password`Pending user6. Apigee Authentication Notes
------------------------------

[](#6-apigee-authentication-notes)

### Apigee Edge

[](#apigee-edge)

Use the username/password env variables shown above.

### Apigee X

[](#apigee-x)

Set:

```
APIGEE_PLATFORM=apigeex
APIGEE_ENDPOINT=https://apigee.googleapis.com/v1
APIGEE_MONETIZATION_PLATFORM=apigee_x
APIGEE_MONETIZATION_ENDPOINT=https://apigee.googleapis.com/v1
```

Then place a service account key file at:

```
storage/app/service_account_key.json

```

LaraApigee uses that file path for Apigee X authentication by default.

7. Run The Application
----------------------

[](#7-run-the-application)

Backend:

```
php artisan serve
```

Assets (optional during local development):

```
npm run dev
```

Optional Next Step: API Package
-------------------------------

[](#optional-next-step-api-package)

If you want the prebuilt NinjaPortal REST API package as well:

```
composer require ninjaportal/portal-api
```

Then publish/configure its settings and generate API docs (Scribe) based on your project needs.

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance56

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/572472a15d795bd58c160445f6e9298cd82b756bf4355e860491785b5398d6f7?d=identicon)[Youssef20](/maintainers/Youssef20)

---

Top Contributors

[![lordjoo](https://avatars.githubusercontent.com/u/11289152?v=4)](https://github.com/lordjoo "lordjoo (3 commits)")

### Embed Badge

![Health badge](/badges/ninjaportal-kickstart/health.svg)

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

###  Alternatives

[easyrdf/easyrdf

EasyRdf is a PHP library designed to make it easy to consume and produce RDF.

62231.5M42](/packages/easyrdf-easyrdf)[spatie/laravel-enum

Laravel Enum support

3655.4M31](/packages/spatie-laravel-enum)[paquettg/string-encode

Facilitating the process of altering string encoding in PHP.

698.7M43](/packages/paquettg-string-encode)[functional-php/fantasy-land

Specification for interoperability of common algebraic structures in PHP

396.2M5](/packages/functional-php-fantasy-land)[psalm/phar

Composer-based Psalm Phar

265.4M191](/packages/psalm-phar)

PHPackages © 2026

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