PHPackages                             sroehrl/scaffold-api - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. sroehrl/scaffold-api

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

sroehrl/scaffold-api
====================

the efficient PHP framework

v1.0.3(5y ago)210MITPHPPHP ^7.4

Since Jul 27Pushed 4y ago1 watchersCompare

[ Source](https://github.com/sroehrl/neoan3-demo-api)[ Packagist](https://packagist.org/packages/sroehrl/scaffold-api)[ RSS](/packages/sroehrl-scaffold-api/feed)WikiDiscussions master Synced yesterday

READMEChangelog (4)Dependencies (8)Versions (4)Used By (0)

neoan3 PHP api scaffolding
==========================

[](#neoan3-php-api-scaffolding)

Quick &amp; dirty api scaffolding as a result of a [twitch.tv/neoan3](https://twitch.tv/neoan3) session

### What is this?

[](#what-is-this)

Create your backend in seconds and add your endpoints via command line. You **don't** need a database, this tool ships with a file-based database for your convenience. However, you can easily add a database at any point.

Out of the box, you have

- user registration
- user login/authentication
- JWT / stateless authentication endpoints
- development server

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

[](#installation)

**NOTE:** requires [neoan3-cli](https://github.com/neoan3/cli), PHP &amp; composer to be globally available.

1. `composer create-project sroehrl/scaffold-api`
2. `neoan3 develop`

That's it, your project should run.

Usage
-----

[](#usage)

Within the project directory, run

`php scaffold ` to generate get &amp; post endpoints.

Modifications (or additional methods) to the endpoint can be achieved by editing the generated model &amp; component files. Look into [neoan3](https://neoan3.rocks) for specifics.

user model
----------

[](#user-model)

This project already ships with a user model &amp; endpoints.

*To register*

**POST /api.v1/users**

```
{
  "userName": "name82",
  "password": "123456",
  "whatever": "any-key-value-pair"
}
```

*response format:*

```
{
  "user": {
    "userName": "name82",
    "_id": "id-with-high-entropy"
  },
  "token": "JWT-token"
}
```

All generated calls require a JWT-token to be used.

```
// e.g. axios
const config = {
    headers: { Authorization: `Bearer ${token}` }
};

axios.get('http://localhost:8080/api.v1/test/1',{},config).then(...)
```

*to login*

**POST /api.v1/users/auth**

expects same json-format (userName, password) as register, returns same format.

### Examples

[](#examples)

`php scaffold posts`

Generates the following endpoints:

**POST /api.v1/posts** creates new post

**GET /api.v1/posts** returns multiple posts; accepts optional parameters (e.g. ?title=first)

**GET /api.v1/posts/:id** retrieves a post

**PUT /api.v1/posts/:id** updates a post

```
// e.g. axios
const config = {
    headers: { Authorization: `Bearer ${token}` }
};
const endpoint = "http://localhost:8080/api.v1/posts";

// create post
axios.post(endpoint, {
    title: "my first post",
    content: "What a day!",
    gitHubLink: "https://github.com/sroehrl",
    author: "neoan"
},config).then(res => {
    const post = res.data;

    // get all posts by neoan
    axios.get(endpoint + '?author=neoan',{},config).then(res => {
        const allPosts = res.data;
    })
})
```

The big picture
---------------

[](#the-big-picture)

Instead of generating a pure test-api, the setup is meant to upcycle, meaning the structure is solid. You can build out actual database implementation while providing immediate usability.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95% 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 ~0 days

Total

2

Last Release

2115d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/92d2361b646651e3452a62d07274076346c4096480098a6c43d6c27ee28d460d?d=identicon)[neoan](/maintainers/neoan)

---

Top Contributors

[![sroehrl](https://avatars.githubusercontent.com/u/28542911?v=4)](https://github.com/sroehrl "sroehrl (19 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

apigeneratorjwtjwt-authenticationjwt-tokenphp7stateless

### Embed Badge

![Health badge](/badges/sroehrl-scaffold-api/health.svg)

```
[![Health](https://phpackages.com/badges/sroehrl-scaffold-api/health.svg)](https://phpackages.com/packages/sroehrl-scaffold-api)
```

###  Alternatives

[namshi/jose

JSON Object Signing and Encryption library for PHP.

1.8k99.6M101](/packages/namshi-jose)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)[beatswitch/lock

A flexible, driver based Acl package for PHP 5.4+

870304.7k2](/packages/beatswitch-lock)

PHPackages © 2026

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