PHPackages                             popphp/pop-bootstrap - 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. [Framework](/categories/framework)
4. /
5. popphp/pop-bootstrap

ActiveLibrary[Framework](/categories/framework)

popphp/pop-bootstrap
====================

A skeleton application for the Pop Web Application Framework, using Bootstrap Material Icons and Font Awesome frameworks.

4.5.1(5y ago)3107BSD-3-ClausePHPPHP &gt;=7.1.0CI failing

Since Jul 12Pushed 5y ago1 watchersCompare

[ Source](https://github.com/popphp/pop-bootstrap)[ Packagist](https://packagist.org/packages/popphp/pop-bootstrap)[ RSS](/packages/popphp-pop-bootstrap/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (10)Dependencies (1)Versions (23)Used By (0)

Pop Bootstrap
=============

[](#pop-bootstrap)

END OF LIFE
-----------

[](#end-of-life)

The `pop-bootstrap` component is now end-of-life and will no longer be maintained.

Release Information
-------------------

[](#release-information)

Version 4.2.0 February 6, 2019

Overview
--------

[](#overview)

This repository is a skeleton web application for the Pop Web Application Framework using the Bootstrap v4, Material Icons and Font Awesome frameworks. The concept behind this skeleton framework focuses on a minimal feature set that allows access view a basic web interface, an API and also the console.

- [Requirements](#requirements)
- [Installation](#installation)
- [Getting Started](#getting-started)
- [Web Access](#web-access)
- [API Access](#api-access)
    - [Authentication](#authentication)
    - [Validate the Token](#validate-the-token)
    - [Refresh the Token](#refresh-the-token)
    - [Revoke the Token](#revoke-the-token)
    - [Manage Users](#manage-users)
- [Console Access](#console-access)

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

[](#requirements)

- Minimum of PHP 7.1.0
- Apache 2+, IIS 7+, or any web server with URL rewrite support
- MySQL 5.0+

[Top](#pop-bootstrap)

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

[](#installation)

The command below will install all of the necessary components, seed the database and take you through the installation steps automatically:

```
$ composer create-project popphp/pop-bootstrap project-folder
$ cd project-folder
$ npm install
$ npm run build
```

Alternatively, the last command above can be `npm run dev` if you'd like build the UI assets for a dev environment instead.

[Top](#pop-bootstrap)

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

[](#getting-started)

You can start the web server by running the `kettle` command:

```
$ ./kettle serve
```

Visit the main web address at `http://localhost:8000`. You will be redirected to a login screen. The default credentials are:

- Username: `admin`
- Password: `password`

[Top](#pop-bootstrap)

Web Access
----------

[](#web-access)

Once logged in via a web browser, you will see that most of the navigation displayed is not active, with the exception of the `Orders` page, the `Users`page and the `Logout` icon. The `Orders` page demonstrates a mock layout with side navigation. The `Users` page will let you manage users. The `Logout`icon executes a user logout.

[Top](#pop-bootstrap)

API Access
----------

[](#api-access)

You can access the API to authenticate a user or manage users as well. The following examples use cURL to demonstrate the accessing the API:

#### Authentication

[](#authentication)

```
curl -i -X POST -d"username=admin&password=password" \
    http://localhost:8000/api/auth
```

Upon a successful authentication, you will receive a JSON response that looks like this:

```
HTTP/1.1 200 OK
Host: localhost:8000
Connection: close
X-Powered-By: PHP/7.1.9
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Methods: HEAD, OPTIONS, GET, PUT, POST, PATCH, DELETE

{
    "id": 1,
    "username": "admin",
    "token": "449d8625fb26753ebce8acbbf38ba2321dd21621",
    "refresh": "a5bba1af879c64e591307b48e1fdd7f2d85cba5f",
    "expires": 1504754891
}

```

With that, you'll be able to continue accessing the API.

[Top](#pop-bootstrap)

#### Validate the Token

[](#validate-the-token)

```
curl -i -X POST --header "Authorization: Bearer 449d8625fb26753ebce8acbbf38ba2321dd21621" \
    http://localhost:8000/api/auth/token
```

```
HTTP/1.1 200 OK
Host: localhost:8000
Connection: close
X-Powered-By: PHP/7.1.9
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Methods: HEAD, OPTIONS, GET, PUT, POST, PATCH, DELETE

```

[Top](#pop-bootstrap)

#### Refresh the Token

[](#refresh-the-token)

```
curl -i -X POST --header "Authorization: Bearer 449d8625fb26753ebce8acbbf38ba2321dd21621" \
    -d"refresh=a5bba1af879c64e591307b48e1fdd7f2d85cba5f" http://localhost:8000/api/auth/token/refresh
```

```
HTTP/1.1 200 OK
Host: localhost:8000
Connection: close
X-Powered-By: PHP/7.1.9
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Methods: HEAD, OPTIONS, GET, PUT, POST, PATCH, DELETE

{
    "token": "8012796bbedb79fc4cecedcf174640f1b5796f08",
    "refresh": "a5bba1af879c64e591307b48e1fdd7f2d85cba5f",
    "expires": 1504754891
}

```

[Top](#pop-bootstrap)

#### Revoke the Token

[](#revoke-the-token)

```
curl -i -X POST --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
    http://localhost:8000/api/auth/token/revoke
```

```
HTTP/1.1 200 OK
Host: localhost:8000
Connection: close
X-Powered-By: PHP/7.1.9
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Methods: HEAD, OPTIONS, GET, PUT, POST, PATCH, DELETE

```

[Top](#pop-bootstrap)

#### Manage Users

[](#manage-users)

###### Get Users

[](#get-users)

```
curl -i -X GET --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
    http://localhost:8000/api/users
```

###### Get a User

[](#get-a-user)

```
curl -i -X GET --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
    http://localhost:8000/api/users/1
```

###### Create User

[](#create-user)

```
curl -i -X POST --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
    -d"username=testuser1&password=123456" http://localhost:8000/api/users
```

###### Update a User

[](#update-a-user)

```
curl -i -X PUT --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
    -d"username=testuser1&active=1" http://localhost:8000/api/users/2
```

###### Delete a User

[](#delete-a-user)

```
curl -i -X DELETE --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
    http://localhost:8000/api/users/2
```

###### Delete Users

[](#delete-users)

```
curl -i -X DELETE --header "Authorization: Bearer 8012796bbedb79fc4cecedcf174640f1b5796f08" \
    -d"rm_users[]=2&rm_users[]=3" http://localhost:8000/api/users
```

[Top](#pop-bootstrap)

Console Access
--------------

[](#console-access)

The application comes with a simple console interface to assist with application management from the CLI as well. You can build upon this to add console-level features and functionality

```
$ ./app users                      List users
$ ./app users add                  Add a user
$ ./app users username       Change a user's username
$ ./app users password       Change a user's password
$ ./app users -a             Activate a user
$ ./app users -d             Deactivate a user
$ ./app users clear          Clear a user's failed login attempts
$ ./app users revoke         Revoke a user's auth tokens
$ ./app users remove         Remove a user

$ ./app version                    Show the version
$ ./app help                       Show the help screen
```

[Top](#pop-bootstrap)

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity68

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

Recently: every ~183 days

Total

20

Last Release

1917d ago

Major Versions

0.1 → 1.02016-07-18

1.0.5 → 2.0.02017-01-12

2.0.0 → 3.0.02017-07-14

3.0.0 → 4.0.02017-09-07

v2.x-dev → 4.1.02018-02-13

PHP version history (4 changes)0.1PHP &gt;=5.4.0

3.0.0PHP &gt;=5.6.0

4.0.0PHP &gt;=7.0.0

4.2.0PHP &gt;=7.1.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/c19dee900e9e20039c723cc403f76b5c22ac2dddb3f86773ae64fb082d4949e2?d=identicon)[nicksagona](/maintainers/nicksagona)

---

Top Contributors

[![nicksagona](https://avatars.githubusercontent.com/u/898670?v=4)](https://github.com/nicksagona "nicksagona (165 commits)")

### Embed Badge

![Health badge](/badges/popphp-pop-bootstrap/health.svg)

```
[![Health](https://phpackages.com/badges/popphp-pop-bootstrap/health.svg)](https://phpackages.com/packages/popphp-pop-bootstrap)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M192](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

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