PHPackages                             limoncello-php/app - 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. limoncello-php/app

ActiveLibrary[Framework](/categories/framework)

limoncello-php/app
==================

0.9.10(8y ago)853187[31 issues](https://github.com/limoncello-php/app/issues)MITPHPPHP &gt;=7.1.0CI failing

Since Jun 18Pushed 7y ago5 watchersCompare

[ Source](https://github.com/limoncello-php/app)[ Packagist](https://packagist.org/packages/limoncello-php/app)[ Docs](https://github.com/limoncello-php/app)[ RSS](/packages/limoncello-php-app/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (11)Versions (13)Used By (0)

[![License](https://camo.githubusercontent.com/55ffc0d77956a06a152ef886c9f5e9a3598888ae6f94689154ed84cba059a99c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6c696d6f6e63656c6c6f2d7068702f6170702e737667)](https://packagist.org/packages/limoncello-php/app)

### Summary

[](#summary)

[![How to create JSON API application](https://camo.githubusercontent.com/c0cf1f3c3e8be385b20c7f9132de313671df7cb3447994ec916c031a628e93da/687474703a2f2f696d672e796f75747562652e636f6d2f76692f55734957356a43377253632f302e6a7067)](http://www.youtube.com/watch?v=UsIW5jC7rSc)

Limoncello App is a fully featured OAuth 2.0 [JSON API](http://jsonapi.org/) quick start application.

Out-of-the-box it has

- [JSON API](http://jsonapi.org/) CRUD operations (create, read, update and delete) for a few sample resources with `to-one`, `to-many` and `many-to-many` relationship types.
- Support for such JSON API [features](http://jsonapi.org/format/#fetching) as resource inclusion, sparse field sets, sorting, filtering and pagination.
- Database migrations and seedings.
- OAuth 2.0 server authentication and role authorization.
- Admin panel for managing users and roles.
- Cross-Origin Resource Sharing (CORS).
- JSON API errors.
- API tests.
- Web tests.

Supported features

- Multiple nested paths resource inclusion (e.g. `posts,posts.user,posts.comments.user`).
- Filtering and sorting by multiple attributes in resources and its relationships.
- Supported operators `=`, `eq`, `equals`, `!=`, `neq`, `not-equals`, `=`, `gte`, `greater-or-equals`, `like`, `not-like`, `in`, `not-in`, `is-null`, `not-null`.
- Pagination works for main resources and resources in relationships. Limits for maximum number of resources are configurable.

Based on

- [Zend Diactoros](https://github.com/zendframework/zend-diactoros)
- [Doctrine](http://www.doctrine-project.org/)
- [Pimple](http://pimple.sensiolabs.org/)
- [Monolog](https://github.com/Seldaek/monolog)
- [FastRoute](https://github.com/nikic/FastRoute)
- [Twig](https://twig.sensiolabs.org/)
- [JSON API implementation](https://github.com/neomerx/json-api)
- [Cross-Origin Resource Sharing](https://github.com/neomerx/cors-psr7)
- Built with ❤️ [Limoncello](https://github.com/limoncello-php/framework)

It could be a great start if you are planning to develop JSON API.

Feel free to ask questions and thank you for supporting the project with ⭐.

### Installation

[](#installation)

#### 1 Create project

[](#1-create-project)

```
$ composer create-project --prefer-dist limoncello-php/app app_name
$ cd app_name
```

Recommended additional step

```
$ npm install
```

or

```
$ yarn install
```

#### 2 Run server

[](#2-run-server)

Application runs PHP built-in server on port 8080

```
$ composer serve
```

Recommended

```
$ npm serve
```

or

```
$ yarn serve
```

> Port could be configured in `composer.json` or `client/webpack/base.config.js`

If you use `Postman` here is a collection of API requests that would work with a local server (reading users, filter users, create users, and etc).

[![Run in Postman](https://camo.githubusercontent.com/82ccefddb001e2caf9d399f1153fdda561cf3da341bb270e18644d516906bc64/68747470733a2f2f72756e2e7073746d6e2e696f2f627574746f6e2e737667)](https://app.getpostman.com/run-collection/a911c4ba41085dea3816)

Here is a `Postman` screen-shot with the collection opened

[![Requests in Postman](server/resources/img/screen-shot.png)](server/resources/img/screen-shot.png)

#### 3 Turn on production mode (optional)

[](#3-turn-on-production-mode-optional)

**By default** the application is installed in **development mode** (less performance, tests and development libraries are available). Application could be switched into **production mode** (higher performance, no tests, no development libraries) with command

```
$ composer build
```

Performance comparision with other frameworks could be found [here](https://github.com/limoncello-php/framework/tree/master/docs/bench/minimalistic) and [here](https://github.com/limoncello-php/framework/tree/master/docs/bench/realistic).

### Testing

[](#testing)

```
$ composer test
```

### How-to add Google Auth to the Application

[](#how-to-add-google-auth-to-the-application)

You can find detailed instructions [here](https://github.com/limoncello-php/framework/blob/develop/docs/101.How_to_add_Google_auth.md).

### License

[](#license)

[MIT license](http://opensource.org/licenses/MIT)

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

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

Recently: every ~26 days

Total

11

Last Release

2958d ago

PHP version history (2 changes)0.6.0PHP &gt;=7.0.0

0.7.0PHP &gt;=7.1.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/0da01dc445667261310b897ad80724e8c63130515b03159c79b1eeb2f3983c9a?d=identicon)[neomerx](/maintainers/neomerx)

---

Top Contributors

[![neomerx](https://avatars.githubusercontent.com/u/10420662?v=4)](https://github.com/neomerx "neomerx (118 commits)")

---

Tags

applicationjson-apilimoncellophp

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/limoncello-php-app/health.svg)

```
[![Health](https://phpackages.com/badges/limoncello-php-app/health.svg)](https://phpackages.com/packages/limoncello-php-app)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M19.7k](/packages/laravel-framework)[tempest/framework

The PHP framework that gets out of your way.

2.2k34.4k13](/packages/tempest-framework)[doppar/framework

The Doppar Framework

4012.4k14](/packages/doppar-framework)[zemit-cms/core

Build Phalcon REST APIs faster with database-first scaffolding, model relationships, eager loading, identity, permissions, CLI, and WebSocket support.

148.5k1](/packages/zemit-cms-core)[lion/bundle

Lion-framework configuration and initialization package

122.3k3](/packages/lion-bundle)

PHPackages © 2026

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