PHPackages                             johndab/lumen-message-microservice - 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. johndab/lumen-message-microservice

AbandonedArchivedProject

johndab/lumen-message-microservice
==================================

lumen-message-microservice.

02[1 PRs](https://github.com/johndab/lumen-message-microservice/pulls)PHP

Since Apr 7Pushed 6y ago1 watchersCompare

[ Source](https://github.com/johndab/lumen-message-microservice)[ Packagist](https://packagist.org/packages/johndab/lumen-message-microservice)[ RSS](/packages/johndab-lumen-message-microservice/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (2)Used By (0)

Message Microservice
====================

[](#message-microservice)

Deployable as independent microservice with its own database providing REST API for managing threads and messages

Prerequisites
-------------

[](#prerequisites)

- php
- composer
- MySql

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

[](#installation)

- Rename `.env.example` to `.env`
- Update `.env` :
    - Set `APP_DEBUG` to `false` and specify `APP_KEY` (32 random characters) and `APP_TOKEN`
    - Create empty database and set connection details
    - You can specify `APP_URL_PREFIX` to add a prefix to all endpoints
- Run:

```
# Install dependencies and optimize composer autoloader
$ composer install --optimize-autoloader --no-dev

# Create all tables
$ php artisan migrate
```

Threads
-------

[](#threads)

> Each request must have `App-Token` header with the correct token specified in `.env`

### Get all client threads

[](#get-all-client-threads)

```
GET /threads/{clientId}

```

- Url
    - int **clientId** (required)

---

### Add thread

[](#add-thread)

```
POST /thread

```

- Body
    - string **title**\* - title of the new thread
    - array(string) **clients** - UUIds of clients assigned to the thread
    - string **params** - JSON with parameters for this thread

---

### Update thread

[](#update-thread)

```
PUT /thread/{threadId}/{clientId?}

```

- Url
    - int **threadId**\* - Id of the thread to update
    - string **clientId** - if specified will be checked if client have access to the thread
- Body
    - string **title** - New title (not updated if null)
    - string **params** - New params

---

### Delete thread

[](#delete-thread)

```
DELETE /thread/{threadId}/{clientId?}

```

- Url
    - int **threadId**\* - Id of the thread to delete
    - string **clientId** - if specified will be checked if client have access to the thread

---

### Add clients

[](#add-clients)

```
POST /thread/clients/{threadId}/{clientId?}

```

- Url
    - int **threadId**\* - Id of the thread to delete
    - string **clientId** - if specified will be checked if client have access to the thread
- Body
    - array(string) **clients** - Ids of clients to add

---

### Remove clients

[](#remove-clients)

```
DELETE /thread/clients/{threadId}/{clientId?}

```

- Url
    - int **threadId**\* - Id of the thread to delete
    - string **clientId** - if specified will be checked if client have access to the thread
- Body
    - array(string) **clients** - Ids of clients to remove

---

Messages
--------

[](#messages)

### Get messages

[](#get-messages)

```
GET /messages/{threadId}/{clientId?}

```

- Url
    - int **threadId**\* - Id of the thread
    - string **clientId** - if specified will be checked if client have access to the thread
- Query string
    - int **take** - number of messages to take (default: 10)
    - int **skip** - number of message to skip (default: 0)

### Add a message

[](#add-a-message)

```
POST /message/{threadId}

```

- Url
    - int **threadId**\* - Id of the thread
- Body
    - string **content**\* - Message content
    - int **clientId**\*
    - string **params** - JSON with parameters for this messages

---

License
-------

[](#license)

This project is licensed under the MIT License

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 95.5% 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/19765124?v=4)[Jan](/maintainers/johndab)[@johndab](https://github.com/johndab)

---

Top Contributors

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

---

Tags

chatlumen-frameworkmessagemicroservice

### Embed Badge

![Health badge](/badges/johndab-lumen-message-microservice/health.svg)

```
[![Health](https://phpackages.com/badges/johndab-lumen-message-microservice/health.svg)](https://phpackages.com/packages/johndab-lumen-message-microservice)
```

PHPackages © 2026

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