PHPackages                             pmurkin/bootstrapi - 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. [API Development](/categories/api)
4. /
5. pmurkin/bootstrapi

ActiveProject[API Development](/categories/api)

pmurkin/bootstrapi
==================

This is my JSON API skeleton. Built using Slim 3, Eloquent, Zend-ACL

87210

Since May 19Compare

[ Source](https://github.com/kot13/bootstrapi)[ Packagist](https://packagist.org/packages/pmurkin/bootstrapi)[ RSS](/packages/pmurkin-bootstrapi/feed)WikiDiscussions Synced yesterday

READMEChangelogDependenciesVersions (2)Used By (0)

[![Gitter](https://camo.githubusercontent.com/37b71e1ce183f4ee630f818196f982c56f4c223c1d829b4d6baa0c3a07fdcf9f/68747470733a2f2f696d672e736869656c64732e696f2f6769747465722f726f6f6d2f6e776a732f6e772e6a732e737667)](https://gitter.im/bootstrapi/Lobby)[![Build Status](https://camo.githubusercontent.com/05746da854088e46f64244dbfad23fb535841a0de16b48922181804ebc6e2993/68747470733a2f2f7472617669732d63692e6f72672f6b6f7431332f626f6f747374726170692e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/kot13/bootstrapi)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/4ac8ba9bff665a14dfecaa68edcfffaab00b65d395bfc86e439c00dddd8a8b2d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6b6f7431332f626f6f747374726170692f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/kot13/bootstrapi/?branch=master)[![Total Downloads](https://camo.githubusercontent.com/9d5976b487ed1661222aacb6a6a4f76f8ab16e47de6a685cfe3233430b2330d6/68747470733a2f2f706f7365722e707567782e6f72672f706d75726b696e2f626f6f747374726170692f646f776e6c6f616473)](https://packagist.org/packages/pmurkin/bootstrapi)[![License](https://camo.githubusercontent.com/340fffa8be7cb3f868392aef376ef5aa6110fb4c163adfdd4253d71e353fc756/68747470733a2f2f706f7365722e707567782e6f72672f706d75726b696e2f626f6f747374726170692f6c6963656e7365)](https://packagist.org/packages/pmurkin/bootstrapi)

bootstrapi
==========

[](#bootstrapi)

A better framework for building API with PHP. Built using Slim 3, Eloquent, Zend-ACL

Feature
-------

[](#feature)

- JWT authentication
- Validation request
- ACL role based
- Support base CRUD operation
- Filtering &amp;&amp; Sorting &amp;&amp; Pagination
- DB migration
- CLI-tools
- JSONAPI negotiation
- Generated documentation
- Code generator commands
- Log

Inside:
-------

[](#inside)

- Slim3
- ORM Eloquent
- Zend ACL
- JsonApi
- JWT
- SwiftMailer
- ApiDocJS
- PHP dotenv

Demo
----

[](#demo)

[Example documentation](http://docs.bootstrapi.demostage.ru/)

[Example client (Ember.js application)](http://bootstrapi.demostage.ru/)

[Client repo](https://github.com/kot13/bootstrapi-client)

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

[](#requirements)

- PHP &gt;= 5.6
- Composer
- Nginx / Apache
- MySQL / PostgreSQL
- NodeJs &amp;&amp; NPM &amp;&amp; ApiDocJs (for docs generate)

Donate
------

[](#donate)

Bitcoin payments: 1LLw4WuBz1oUSjQFntfQutD2T8mGZiA7pZ

Installing
----------

[](#installing)

1. create new project

```
$ composer create-project -n -s dev pmurkin/bootstrapi my-api

```

2. change config files:

```
$ nano .env
$ nano config/apidoc.php
$ nano version.sh

```

3. configure server

Example configuration for nginx:

```
server {
    listen 80 ;
    server_name     hostname;
    error_log       /path/to/nginx/logs/hostname.error.log;
    access_log      /path/to/nginx/logs/hostname.access.log;
    index           /frontend/index.html index.html;

    root   /path/to/projects/hostname;

    location ~* (.+\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar|woff|woff2|ttf|eot|svg))$ {
        root   /path/to/projects/hostname/frontend;
        try_files       $uri =404;
    }

    location ~ /api/ {
        if (!-e $request_filename) {rewrite ^/(.*)$ /public/index.php?q=$1 last;}
    }

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
        fastcgi_pass   127.0.0.1:9000;
    }

    location / {
        if (!-e $request_filename) {rewrite ^/(.*)$ /frontend/index.html?q=$1 last;}
    }
}

server {
    listen 80 ;
    server_name     docs.hostname;
    error_log       /path/to/nginx/logs/hostname.error.log;
    access_log      /path/to/nginx/logs/hostname.access.log;
    index           index.html;
    root            /path/to/projects/hostname/docs;

    location / {
        try_files $uri $uri/ /index.html?$args;
    }

    location ~* (.+\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar|woff|woff2|ttf|eot|svg))$ {
        try_files $uri =404;
    }
}

server {
    listen 80 ;
    server_name     static.hostname;
    error_log       /path/to/nginx/logs/hostname.error.log;
    access_log      /path/to/nginx/logs/hostname.access.log;

    root            /path/to/projects/hostname/public/uploads;

    location ~* (.+\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar|woff|woff2|ttf|eot|svg))$ {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, PATCH, DELETE, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since';
        try_files $uri =404;
    }
}

```

Example configuration for apache:

```

   ServerName hostname
   DocumentRoot "/path/to/projects/hostname/"

       # use mod_env for define environment variables
       SetEnv APPLICATION_ENV develop
       SetEnv SECRET_KEY mysecretkey

       # use mod_rewrite for pretty URL support
       RewriteEngine on
       # If a directory or a file exists, use the request directly
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d
       # Otherwise forward the request to index.php
       RewriteRule ^api/(.*)$ /index.php?q=$1 [L]

       # use index.php as index file
       DirectoryIndex index.php

       # ...other settings...
       # Apache 2.4
       Require all granted

       ## Apache 2.2
       # Order allow,deny
       # Allow from all

   ServerName docs.hostname
   DocumentRoot "/path/to/projects/hostname/docs"

       # use index.html as index file
       DirectoryIndex index.html

       # ...other settings...
       # Apache 2.4
       Require all granted

       ## Apache 2.2
       # Order allow,deny
       # Allow from all

```

4. migration

```
$ php partisan migrate:up

```

5. migration

```
$ php partisan run:seed

```

6. generate documentation (optional)

```
$ php partisan generate:docs

```

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity43

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.

### Community

Maintainers

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

### Embed Badge

![Health badge](/badges/pmurkin-bootstrapi/health.svg)

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

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35816.3M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172437.8k11](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

94452.6k6](/packages/botman-driver-telegram)

PHPackages © 2026

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