Skip to content

Commit

Permalink
Merge pull request #10 from wayofdev/feat/temporal-and-rr
Browse files Browse the repository at this point in the history
  • Loading branch information
lotyp authored Jul 30, 2024
2 parents 6c6037c + da7a0ae commit 366eaf7
Show file tree
Hide file tree
Showing 3 changed files with 3,613 additions and 644 deletions.
48 changes: 17 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,10 @@ Depending on the packages you chose during the installation, you'll find the fol

- Please, configure the environment variables in the `.env` file at the application's root.


### RoadRunnerBridge

- The settings for RoadRunner are in a file `.rr.yaml` at the main folder of the app.
- Documentation: https://spiral.dev/docs/start-server

- Documentation: <https://spiral.dev/docs/start-server>

### CycleBridge

Expand All @@ -28,44 +26,36 @@ Depending on the packages you chose during the installation, you'll find the fol
- Cycle ORM configuration file: `app/config/cycle.php`
- Documentation: `https://spiral.dev/docs/basics-orm`


### LaravelValidator

- Read more about validation in the Spiral Framework: https://spiral.dev/docs/validation-factory
- Documentation: https://spiral.dev/docs/validation-laravel

- Read more about validation in the Spiral Framework: <https://spiral.dev/docs/validation-factory>
- Documentation: <https://spiral.dev/docs/validation-laravel>

### Views

- Read more about views in the Spiral Framework: https://spiral.dev/docs/views-configuration
- Documentation: https://spiral.dev/docs/views-plain

- Read more about views in the Spiral Framework: <https://spiral.dev/docs/views-configuration>
- Documentation: <https://spiral.dev/docs/views-plain>

### DataGridBridge

- Documentation: `https://spiral.dev/docs/component-data-grid`


### LeagueEvent

- Documentation: https://spiral.dev/docs/advanced-events

- Documentation: <https://spiral.dev/docs/advanced-events>

### Scheduler

- Documentation: https://spiral.dev/docs/advanced-scheduler

- Documentation: <https://spiral.dev/docs/advanced-scheduler>

### TemporalBridge

- Documentation: https://spiral.dev/docs/temporal-configuration

- Documentation: <https://spiral.dev/docs/temporal-configuration>

### SentryBridge

- Configure the `SENTRY_DSN` environment variable to enable Sentry error reporting.
- Documentation: https://spiral.dev/docs/basics-errors

- Documentation: <https://spiral.dev/docs/basics-errors>

## Usage

Expand Down Expand Up @@ -127,13 +117,12 @@ You should observe your current-date route within the displayed list:

Now, dive deeper into the fundamentals by reading some articles:

* [Routing](https://spiral.dev/docs/http-routing)
* [Annotated Routing](https://spiral.dev/docs/http-routing#attribute-based-routing)
* [Middleware](https://spiral.dev/docs/http-middleware)
* [Error Pages](https://spiral.dev/docs/http-errors)
* [Custom HTTP handler](https://spiral.dev/docs/cookbook-psr-15)
* [Scaffolding](https://spiral.dev/docs/basics-scaffolding)

- [Routing](https://spiral.dev/docs/http-routing)
- [Annotated Routing](https://spiral.dev/docs/http-routing#attribute-based-routing)
- [Middleware](https://spiral.dev/docs/http-middleware)
- [Error Pages](https://spiral.dev/docs/http-errors)
- [Custom HTTP handler](https://spiral.dev/docs/cookbook-psr-15)
- [Scaffolding](https://spiral.dev/docs/basics-scaffolding)

### RoadRunner Queue server

Expand All @@ -144,7 +133,6 @@ Before you can start the queue server, you need to configure it.
Firs of all, you need to configure the queue broker. All information about the queue broker configuration can be found
in the [RoadRunner documentation](https://roadrunner.dev/docs/queues-overview).


#### Spiral configuration

You can read more about the configuration options in
Expand All @@ -158,7 +146,6 @@ To start the queue server using RoadRunner, run the following command in your pr
./rr serve
```


### RoadRunner HTTP server

To start HTTP server using RoadRunner, run the following command in your project directory:
Expand All @@ -168,13 +155,12 @@ To start HTTP server using RoadRunner, run the following command in your project
```

Once the server is running, you can access your application in a web browser by going to the following
URL: http://127.0.0.1:8080.
URL: <http://127.0.0.1:8080>.

> **Note**:
> For more information on how to use RoadRunner with Spiral, please consult
> the [official documentation](https://spiral.dev/docs/start-server).

## Console commands

### Download or update RoadRunner
Expand Down Expand Up @@ -256,7 +242,7 @@ If you chose to install the default application skeleton, your project will have
- ExceptionHandlerInterceptor.php
```

#### Here's a brief explanation of the directories and files in this structure:
#### Here's a brief explanation of the directories and files in this structure

- **Endpoint**: This directory contains the entry points for your application, including HTTP endpoints (in the Web
subdirectory), command-line interfaces (in the Console subdirectory), and gRPC services (in the RPC subdirectory).
Expand Down
113 changes: 102 additions & 11 deletions app/composer.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,37 @@
{
"name": "spiral/app",
"description": "Spiral Application installer",
"name": "wayofdev/spiral-starter-tpl",
"description": "🚀 Pre-configured Spiral Framework Project Template. Includes PHPUnit, Pest PHP, PHPStan, PHP CS Fixer, and CI tools. Supports OpenAPI, DDD, Deptrac, Deployer, PHP 8.3, Docker, local SSL, and DNS. Enhance development with advanced features and maintain high code quality.",
"license": "MIT",
"type": "project",
"homepage": "https://spiral.dev",
"keywords": [
"php",
"spiral",
"spiral-framework",
"temporal",
"boilerplate",
"spiral-boilerplate",
"starter-template",
"starter-kit",
"spiral-application",
"starter-project",
"spiral-starter-template",
"spiral-starter-kit",
"spiral-api",
"spiral-ddd",
"ddd"
],
"authors": [
{
"name": "lotyp",
"email": "[email protected]",
"homepage": "https://wayof.dev"
}
],
"homepage": "https://wayof.dev",
"support": {
"issues": "https://github.com/spiral/app/issues",
"source": "https://github.com/spiral/app"
"issues": "https://github.com/wayofdev/spiral-starter-tpl/issues",
"source": "https://github.com/wayofdev/spiral-starter-tpl",
"security": "https://github.com/wayofdev/spiral-starter-tpl/blob/master/.github/SECURITY.md"
},
"require": {
"php": "^8.3",
Expand All @@ -31,9 +56,22 @@
"spiral/views": "^3.8"
},
"require-dev": {
"spiral/dumper": "^3.2.1",
"spiral/testing": "^2.3",
"vimeo/psalm": "^5.9"
"ergebnis/phpunit-slow-test-detector": "^2.15",
"fakerphp/faker": "^1.23",
"pestphp/pest": "^2.34",
"phpstan/extension-installer": "^1.3",
"phpstan/phpstan": "^1.11",
"phpstan/phpstan-deprecation-rules": "^1.2",
"phpstan/phpstan-phpunit": "^1.3",
"phpstan/phpstan-strict-rules": "^1.5",
"phpunit/phpunit": "^10.5",
"psalm/plugin-phpunit": "~0.19.0",
"rector/rector": "^1.1",
"roave/infection-static-analysis-plugin": "^1.35",
"spiral/dumper": "^3.3",
"spiral/testing": "^2.8",
"vimeo/psalm": "^5.23.1",
"wayofdev/cs-fixer-config": "^1.4"
},
"minimum-stability": "dev",
"prefer-stable": true,
Expand All @@ -49,12 +87,28 @@
},
"config": {
"allow-plugins": {
"ergebnis/composer-normalize": true,
"infection/extension-installer": true,
"pestphp/pest-plugin": true,
"php-http/discovery": true,
"phpstan/extension-installer": true,
"spiral/composer-publish-plugin": true
},
"audit": {
"abandoned": "report"
},
"optimize-autoloader": true,
"platform": {
"php": "8.3.7"
},
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"composer-normalize": {
"indent-size": 4,
"indent-style": "space"
},
"publish-cmd": "php app.php publish"
},
"scripts": {
Expand All @@ -64,10 +118,47 @@
"rr get-binary --quiet",
"composer dump-autoload"
],
"psalm:config": "psalm",
"cs:diff": "php-cs-fixer fix --dry-run -v --diff",
"cs:fix": "php-cs-fixer fix -v",
"infect": [
"Composer\\Config::disableProcessTimeout",
"@putenv XDEBUG_MODE=coverage",
"php -d memory_limit=2G vendor/bin/roave-infection-static-analysis-plugin --threads=2"
],
"infect:ci": [
"Composer\\Config::disableProcessTimeout",
"@putenv XDEBUG_MODE=coverage",
"php -d memory_limit=2G vendor/bin/roave-infection-static-analysis-plugin --threads=2 --ansi --logger-github --ignore-msi-with-no-mutations --only-covered"
],
"psalm": "psalm --show-info=true",
"psalm:baseline": "psalm --set-baseline=psalm-baseline.xml",
"psalm:ci": "psalm --output-format=github --shepherd --show-info=false --stats --threads=4",
"refactor": "rector process --config=rector.php",
"refactor:ci": "rector process --config=rector.php --dry-run --ansi",
"rr:download": "rr get-binary",
"rr:download-protoc": "rr download-protoc-binary",
"test": "vendor/bin/phpunit",
"test-coverage": "vendor/bin/phpunit --coverage"
"stan": "phpstan analyse --memory-limit=2G",
"stan:baseline": "phpstan analyse --generate-baseline --memory-limit=2G --allow-empty-baseline",
"stan:ci": "phpstan analyse --memory-limit=2G --error-format=github",
"test": [
"@putenv XDEBUG_MODE=coverage",
"@putenv DB_CONNECTION=memory",
"pest --color=always"
],
"test:arch": [
"@putenv XDEBUG_MODE=coverage",
"@putenv DB_CONNECTION=memory",
"pest --color=always --configuration pest.xml.dist"
],
"test:cc": [
"@putenv XDEBUG_MODE=coverage",
"@putenv DB_CONNECTION=memory",
"pest --coverage --coverage-clover=.build/phpunit/logs/clover.xml --color=always"
],
"test:pgsql": [
"@putenv XDEBUG_MODE=coverage",
"@putenv DB_CONNECTION=pgsql",
"pest --color=always"
]
}
}
Loading

0 comments on commit 366eaf7

Please sign in to comment.