PHPackages                             reactive-apps/skeleton - 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. reactive-apps/skeleton

ActiveLibrary

reactive-apps/skeleton
======================

Reactive Apps Skeleton

30[2 PRs](https://github.com/reactive-apps/skeleton/pulls)PHP

Since Mar 12Pushed 5y ago4 watchersCompare

[ Source](https://github.com/reactive-apps/skeleton)[ Packagist](https://packagist.org/packages/reactive-apps/skeleton)[ RSS](/packages/reactive-apps-skeleton/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (3)Used By (0)

Reactive App Skeleton
=====================

[](#reactive-app-skeleton)

[![Build Status](https://camo.githubusercontent.com/e8f8b0314765aeb9cbd0f4cd9c4c5e0d4c2d5580899604f35d3b0f1123da96d0/68747470733a2f2f7472617669732d63692e636f6d2f72656163746976652d617070732f736b656c65746f6e2e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/reactive-apps/skeleton)[![Latest Stable Version](https://camo.githubusercontent.com/1b389a366dda97487c315f944ffc99daca569ff4da7af5705244f97a1d8a9efd/68747470733a2f2f706f7365722e707567782e6f72672f72656163746976652d617070732f736b656c65746f6e2f762f737461626c652e706e67)](https://packagist.org/packages/reactive-apps/skeleton)[![Total Downloads](https://camo.githubusercontent.com/668a2797ce7adaf9875404b0a59cefed06ae3343a3462ffbc102b738c10000f1/68747470733a2f2f706f7365722e707567782e6f72672f72656163746976652d617070732f736b656c65746f6e2f646f776e6c6f6164732e706e67)](https://packagist.org/packages/reactive-apps/skeleton/stats)[![Code Coverage](https://camo.githubusercontent.com/f3f68afa47022c24a3892c5d54822236b549757291637b27849cb84edce9a1a9/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f72656163746976652d617070732f736b656c65746f6e2f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/reactive-apps/skeleton/?branch=master)[![License](https://camo.githubusercontent.com/1dca59d74ef2b821fadaae630c75dd8fc5cfa0f42e95803f49f0da4d1b5e4d45/68747470733a2f2f706f7365722e707567782e6f72672f72656163746976652d617070732f736b656c65746f6e2f6c6963656e73652e706e67)](https://packagist.org/packages/reactive-apps/skeleton)[![PHP 7 ready](https://camo.githubusercontent.com/fa72662429405059aa4daace48af79e37665795d5e0aba6e7b8b3292e281cc5e/687474703a2f2f7068703772656164792e74696d6573706c696e7465722e63682f72656163746976652d617070732f736b656c65746f6e2f62616467652e737667)](https://travis-ci.com/reactive-apps/skeleton)

Create a new project based on this skeleton
===========================================

[](#create-a-new-project-based-on-this-skeleton)

The following command will create a new project based on this skeleton in the `your-project-name` directory:

```
composer create reactive-apps/skeleton your-project-name

```

Before you get started
======================

[](#before-you-get-started)

Copy the `.env.example` to `.env` and adjust where needed. Make sure to match the post of `REACT_HTTP_SOCKET_ADDRESS`with the post in `cigar.json`.

Usage
=====

[](#usage)

This skeleton comes with a set of `make` commands to ease the QA and development. Running `make` will do a full QA run including `linting`, `code style checks`, `unit tests`, and `smoke testing`.

This is a fully command line based tool with it's own `HTTP` server build in. Running `./app` will list the available commands. For example `./app http-server` will start. It is also possible to run multiple commands at once, for example the following runs the `HTTP` server, metrics collection, and internal cron (the latter two aren't included by default): `./app multi metrics cron http-server`.

Docker Compose
--------------

[](#docker-compose)

Alternatively there is `make dev` that will boot up a full dev environment using `docker-compose` that includes:

- Running this app with the HTTP server available on `localhost:54321` (host might differ on non-Linux platforms)
- [`Grafana`](https://grafana.com/grafana) on `localhost:3000` with user/password `admin`/`admin` for application, system and services metrics
- [`Graphite`](https://graphiteapp.org/) / [`InfluxDB`](https://www.influxdata.com/time-series-platform/influxdb/) for metrics storage and feeding them to [`Grafana`](https://grafana.com/grafana)
- [`Telegraf`](https://www.influxdata.com/time-series-platform/telegraf/) gathering metrics pushing them to [`Graphite`](https://graphiteapp.org/) / [`InfluxDB`](https://www.influxdata.com/time-series-platform/influxdb/)
- [`RabbitMQ`](https://www.rabbitmq.com/) for message consumer in your app but also used for getting metrics from the app to [`Telegraf`](https://www.influxdata.com/time-series-platform/telegraf/)

Logging
=======

[](#logging)

The app is by default shipped with [`Monolog`](https://github.com/Seldaek/monolog) for logging and `STDOUT` logging for colour logging to the command line. Any additional handlers and processors can be configured in the `etc/config/logger.php`configuration file. The `http-server.php` next to it also shows off how it can be used together with DI.

HTTP Server
===========

[](#http-server)

The `HTTP` server command looks at `composer.json` to find configured controllers and sets those up for when requests come in. A controller can be both static and instanced. With the latter useful for when you need to do more then the basics where no injected dependencies are required. The configuration is done through annotations for the allowed `HTTP` method and route. The HTTP server documentation can be found [here](https://github.com/reactive-apps/command-http-server).

License
=======

[](#license)

The MIT License (MIT)

Copyright (c) 2019 Cees-Jan Kiewiet

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 83.8% 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://avatars.githubusercontent.com/u/147145?v=4)[Cees-Jan Kiewiet](/maintainers/WyriHaximus)[@WyriHaximus](https://github.com/WyriHaximus)

---

Top Contributors

[![WyriHaximus](https://avatars.githubusercontent.com/u/147145?v=4)](https://github.com/WyriHaximus "WyriHaximus (57 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (10 commits)")[![dependabot-support](https://avatars.githubusercontent.com/u/112581971?v=4)](https://github.com/dependabot-support "dependabot-support (1 commits)")

---

Tags

appapplicationphpphp7reactphp

### Embed Badge

![Health badge](/badges/reactive-apps-skeleton/health.svg)

```
[![Health](https://phpackages.com/badges/reactive-apps-skeleton/health.svg)](https://phpackages.com/packages/reactive-apps-skeleton)
```

PHPackages © 2026

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