You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: Upgrade dependencies, environment, and modernize codebase
- Upgrades PHP to 8.4 and the MongoDB extension in the Docker environment.
- Updates major versions of key dependencies, including PHPStan, Symfony components, and the MongoDB library.
- Modernizes the CI workflow by updating GitHub Actions.
- Refactors the codebase to align with the new dependency versions, improving type safety and code style.
- Adds GEMINI.md for AI agent context.
This project is a Symfony Bundle that provides a MongoDB transport for the Symfony Messenger component. It allows developers to use MongoDB as a message queue for their Symfony applications. This is particularly useful when an application already uses MongoDB and wants to avoid adding another dependency for a message queue.
4
+
5
+
The core of the bundle is the `MongoTransport` class, which implements the Symfony `TransportInterface`. This class handles the sending, receiving, acknowledging, and rejecting of messages using a MongoDB collection.
6
+
7
+
The project uses Composer for dependency management, PHPUnit for testing, Infection for mutation testing, and PHPStan for static analysis.
8
+
9
+
# Building and Running
10
+
11
+
## Dependencies
12
+
13
+
Install dependencies using Composer:
14
+
15
+
```bash
16
+
composer install
17
+
```
18
+
19
+
## Running Tests
20
+
21
+
Run the test suite using PHPUnit:
22
+
23
+
```bash
24
+
vendor/bin/phpunit
25
+
```
26
+
27
+
## Static Analysis
28
+
29
+
Run PHPStan for static analysis:
30
+
31
+
```bash
32
+
vendor/bin/phpstan analyse src tests
33
+
```
34
+
35
+
## Mutation Testing
36
+
37
+
Run Infection for mutation testing:
38
+
39
+
```bash
40
+
vendor/bin/infection
41
+
```
42
+
43
+
# Development Conventions
44
+
45
+
## Coding Style
46
+
47
+
The project follows the PSR-12 coding style guide.
48
+
49
+
## Testing
50
+
51
+
The project has a comprehensive test suite using PHPUnit. Tests are located in the `tests` directory and are separated into unit and integration tests.
52
+
53
+
## Contribution
54
+
55
+
Contributions are welcome. Please open an issue or create a pull request on the [GitHub repository](https://github.com/eMAGTechLabs/messenger-mongo-bundle).
0 commit comments