PHPackages                             thetis20/messenger-domain - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. thetis20/messenger-domain

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

thetis20/messenger-domain
=========================

domain of messenger application

1.0.14(1y ago)022MITPHPPHP &gt;=8.3.12

Since Nov 17Pushed 1y ago1 watchersCompare

[ Source](https://github.com/thetis20/messenger-domain)[ Packagist](https://packagist.org/packages/thetis20/messenger-domain)[ RSS](/packages/thetis20-messenger-domain/feed)WikiDiscussions main Synced 2d ago

READMEChangelogDependencies (7)Versions (21)Used By (0)

Messenger
=========

[](#messenger)

Context
-------

[](#context)

This project is an application designed to explore concepts such as Clean Architecture, Test-Driven Development (TDD), Domain-Driven Design (DDD), and Hexagonal Architecture. These approaches aim to produce maintainable, scalable, and testable code.

Technologies
------------

[](#technologies)

- **PHP** : Programming language used for business logic.
- **Composer** : Dependency manager for PHP.
- **PHPUnit** : Tool for unit testing.
- **Docker** : Containerization platform to simplify application execution and isolation.

Key Concepts
------------

[](#key-concepts)

### 1. Clean Architecture

[](#1-clean-architecture)

Clean Architecture is a set of principles designed to organize code in a way that it is independent of frameworks, databases, and user interfaces. It enables:

- Separation of concerns.
- Easier testing.
- More comprehensible and maintainable code.

### 2. Test-Driven Development (TDD)

[](#2-test-driven-development-tdd)

TDD is a development methodology based on writing tests before coding the functionality. The process follows three steps:

- Write a test that fails.
- Write the minimum code necessary to make the test pass.
- Refactor the code while ensuring the tests still pass.

TDD improves code quality and reduces the number of bugs.

### 3. Domain-Driven Design (DDD)

[](#3-domain-driven-design-ddd)

DDD is a software design approach focusing on the business domain. It encourages collaboration between developers and domain experts to:

- Model the domain effectively.
- Use a common language.
- Structure code around business concepts.

### 4. Hexagonal Architecture

[](#4-hexagonal-architecture)

Hexagonal Architecture, or Ports and Adapters Architecture, separates the core application logic from external interactions (UI, databases, APIs, etc.). It allows:

- Easier testing of the application core.
- Replacement of external components without impacting business logic.
- Simplified application evolution.

Installation and Usage
----------------------

[](#installation-and-usage)

This project composer

1. Clone the repository:

    ```
    git clone git@github.com:thetis20/messenger-domain.git
    cd messenger-domain
    ```
2. Install composer dependencies:

    ```
    composer install
    ```
3. Run tests

    ```
    composer run-script tests
    ```

Class Diagram
-------------

[](#class-diagram)

 ```
---
title: Messenger Domain
---
classDiagram
   Discussion "1" *-- "*" DiscussionMember
   Member "1" *-- "*" DiscussionMember
   Discussion "1" *-- "*" Message
   Member "1"  B[Enter group name]
    B --> G{Member already exists}
    G --> |yes| C[Add members to the discussion]
    G --> |no| H[Create member]
    H --> C
    C --> D[Create group]
    D --> E[Notify users]
```

      Loading ### Sending Messages

[](#sending-messages)

A user can send a message in a discussion group.

 ```
flowchart TD
    A[User] --> B[Enter message]
    B --> C[Choose recipient]
    C --> D[Send the message]
    D --> E[Display send confirmation]
```

      Loading ### Receiving Messages

[](#receiving-messages)

A user receives messages sent by other participants.

 ```
flowchart TD
    A[Server] --> B[Receive a message]
    B --> C[Notify the recipient]
    C --> D[Display message in the application]
```

      Loading ### Viewing Message History

[](#viewing-message-history)

A user can view the history of their conversations.

### Deleting Messages

[](#deleting-messages)

A user can delete a message they have sent or received.

 ```
flowchart TD
    A[User] --> B[Select a message]
    B --> C[Confirm deletion]
    C -->|Confirmed| D[Delete the message]
    C -->|Not confirmed| E[Cancel deletion]
```

      Loading License
-------

[](#license)

This project is licensed under the MIT License. Please refer to the LICENSE file for more information.

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

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

Total

15

Last Release

558d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/117259022?v=4)[Arnaud Picard](/maintainers/thetis20)[@thetis20](https://github.com/thetis20)

---

Top Contributors

[![thetis20](https://avatars.githubusercontent.com/u/117259022?v=4)](https://github.com/thetis20 "thetis20 (10 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/thetis20-messenger-domain/health.svg)

```
[![Health](https://phpackages.com/badges/thetis20-messenger-domain/health.svg)](https://phpackages.com/packages/thetis20-messenger-domain)
```

###  Alternatives

[symfony/ai-platform

PHP library for interacting with AI platform provider.

521.4M289](/packages/symfony-ai-platform)[typo3/cms

TYPO3 CMS is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL.

1.2k1.9M122](/packages/typo3-cms)[oat-sa/tao-core

TAO core extension

66143.7k124](/packages/oat-sa-tao-core)[mcp/sdk

Model Context Protocol SDK for Client and Server applications in PHP

1.5k1.5M87](/packages/mcp-sdk)[web-auth/webauthn-lib

FIDO2/Webauthn Support For PHP

12310.5M135](/packages/web-auth-webauthn-lib)[web-auth/webauthn-framework

FIDO2/Webauthn library for PHP and Symfony Bundle.

515100.5k3](/packages/web-auth-webauthn-framework)

PHPackages © 2026

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