-
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
44 changed files
with
7,763 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<?php declare(strict_types = 1); | ||
|
||
require __DIR__ . '/../vendor/autoload.php'; | ||
|
||
return App\Bootstrap::boot() | ||
->createContainer() | ||
->getByType(Doctrine\ORM\Decorator\EntityManagerDecorator::class); |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# EditorConfig is awesome: http://EditorConfig.org | ||
|
||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
end_of_line = lf | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
indent_style = tab | ||
indent_size = tab | ||
tab_width = 4 | ||
|
||
[*.{json,yaml,yml,md}] | ||
indent_style = space | ||
indent_size = 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
version = 1 | ||
|
||
[merge] | ||
automerge_label = "automerge" | ||
blacklist_title_regex = "^WIP.*" | ||
blacklist_labels = ["WIP"] | ||
method = "rebase" | ||
delete_branch_on_merge = true | ||
notify_on_conflict = true | ||
optimistic_updates = false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
version: 2 | ||
updates: | ||
- package-ecosystem: composer | ||
directory: "/" | ||
schedule: | ||
interval: daily | ||
labels: | ||
- "dependencies" | ||
- "automerge" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
name: "Codesniffer" | ||
|
||
on: | ||
pull_request: | ||
|
||
push: | ||
branches: [ "*" ] | ||
|
||
schedule: | ||
- cron: "0 8 * * 1" | ||
|
||
jobs: | ||
codesniffer: | ||
name: "Codesniffer" | ||
uses: contributte/.github/.github/workflows/codesniffer.yml@v1 | ||
with: | ||
php: "8.2" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: "Coverage" | ||
|
||
on: | ||
pull_request: | ||
|
||
push: | ||
branches: [ "*" ] | ||
|
||
schedule: | ||
- cron: "0 8 * * 1" | ||
|
||
jobs: | ||
coverage: | ||
name: "Nette Tester" | ||
uses: contributte/.github/.github/workflows/nette-tester-coverage.yml@v1 | ||
with: | ||
php: "8.2" | ||
make: "init coverage" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: "Phpstan" | ||
|
||
on: | ||
pull_request: | ||
|
||
push: | ||
branches: [ "*" ] | ||
|
||
schedule: | ||
- cron: "0 8 * * 1" | ||
|
||
jobs: | ||
phpstan: | ||
name: "Phpstan" | ||
uses: contributte/.github/.github/workflows/phpstan.yml@v1 | ||
with: | ||
php: "8.2" | ||
make: "init phpstan" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: "Nette Tester" | ||
|
||
on: | ||
pull_request: | ||
|
||
push: | ||
branches: [ "*" ] | ||
|
||
schedule: | ||
- cron: "0 8 * * 1" | ||
|
||
jobs: | ||
test82: | ||
name: "Nette Tester" | ||
uses: contributte/.github/.github/workflows/nette-tester.yml@v1 | ||
with: | ||
php: "8.2" | ||
make: "init tests" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
# IDE | ||
.idea | ||
|
||
# Composer | ||
/vendor | ||
|
||
# Nette | ||
/var | ||
/config/local.neon | ||
|
||
# Docker | ||
/.data |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<?php | ||
|
||
namespace PHPSTORM_META { | ||
override(\src\EntityManager::getRepository(0), map([ | ||
'\App\Domain\User\User' => App\Domain\User\UserRepository::class, | ||
])); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
############################################################ | ||
# PROJECT ################################################## | ||
############################################################ | ||
.PHONY: project | ||
project: install setup | ||
|
||
.PHONY: init | ||
init: | ||
cp config/local.neon.example config/local.neon | ||
|
||
.PHONY: install | ||
install: | ||
composer install | ||
|
||
.PHONY: setup | ||
setup: | ||
mkdir -p var/tmp var/log | ||
chmod 0777 var/tmp var/log | ||
|
||
.PHONY: clean | ||
clean: | ||
find var/tmp -mindepth 1 ! -name '.gitignore' -type f,d -exec rm -rf {} + | ||
find var/log -mindepth 1 ! -name '.gitignore' -type f,d -exec rm -rf {} + | ||
|
||
############################################################ | ||
# DEVELOPMENT ############################################## | ||
############################################################ | ||
.PHONY: qa | ||
qa: cs phpstan | ||
|
||
.PHONY: cs | ||
cs: | ||
vendor/bin/codesniffer app tests | ||
|
||
.PHONY: csf | ||
csf: | ||
vendor/bin/codefixer app tests | ||
|
||
.PHONY: phpstan | ||
phpstan: | ||
vendor/bin/phpstan analyse -c phpstan.neon --memory-limit=512M | ||
|
||
.PHONY: tests | ||
tests: | ||
vendor/bin/tester -s -p php --colors 1 -C tests | ||
|
||
.PHONY: coverage | ||
coverage: | ||
vendor/bin/tester -s -p phpdbg --colors 1 -C --coverage ./coverage.xml --coverage-src ./app tests | ||
|
||
.PHONY: dev | ||
dev: | ||
NETTE_DEBUG=1 NETTE_ENV=dev php -S 0.0.0.0:8000 -t www | ||
|
||
.PHONY: consume | ||
consume: | ||
XDEBUG_MODE=debug XDEBUG_SESSION=1 bin/console messenger:consume redis | ||
|
||
.PHONY: build | ||
build: | ||
NETTE_DEBUG=1 bin/console orm:schema-tool:drop --force --full-database | ||
NETTE_DEBUG=1 bin/console migrations:migrate --no-interaction | ||
|
||
.PHONY: migrate | ||
migrate: | ||
NETTE_DEBUG=1 bin/console migrations:migrate --no-interaction | ||
|
||
############################################################ | ||
# DOCKER ################################################### | ||
############################################################ | ||
.PHONY: docker-up | ||
docker-up: | ||
docker compose up | ||
|
||
.PHONY: docker-in | ||
docker-in: | ||
docker compose exec app bash | ||
|
||
############################################################ | ||
# DEPLOYMENT ############################################### | ||
############################################################ | ||
.PHONY: deploy | ||
deploy: | ||
$(MAKE) clean | ||
$(MAKE) project | ||
$(MAKE) build | ||
$(MAKE) clean |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
![](https://heatbadger.now.sh/github/readme/contributte/ddd-skeleton/) | ||
|
||
<p align=center> | ||
<a href="https://github.com/contributte/ddd-skeleton/actions"><img src="https://badgen.net/github/checks/contributte/ddd-skeleton/master"></a> | ||
<a href="https://coveralls.io/r/contributte/ddd-skeleton"><img src="https://badgen.net/coveralls/c/github/contributte/ddd-skeleton"></a> | ||
<a href="https://packagist.org/packages/contributte/ddd-skeleton"><img src="https://badgen.net/packagist/dm/contributte/ddd-skeleton"></a> | ||
<a href="https://packagist.org/packages/contributte/ddd-skeleton"><img src="https://badgen.net/packagist/v/contributte/ddd-skeleton"></a> | ||
</p> | ||
<p align=center> | ||
<a href="https://packagist.org/packages/contributte/ddd-skeleton"><img src="https://badgen.net/packagist/php/contributte/ddd-skeleton"></a> | ||
<a href="https://github.com/contributte/ddd-skeleton"><img src="https://badgen.net/github/license/contributte/ddd-skeleton"></a> | ||
<a href="https://bit.ly/ctteg"><img src="https://badgen.net/badge/support/gitter/cyan"></a> | ||
<a href="https://bit.ly/cttfo"><img src="https://badgen.net/badge/support/forum/yellow"></a> | ||
<a href="https://contributte.org/partners.html"><img src="https://badgen.net/badge/sponsor/donations/F96854"></a> | ||
</p> | ||
|
||
<p align=center> | ||
Website 🚀 <a href="https://contributte.org">contributte.org</a> | Contact 👨🏻💻 <a href="https://f3l1x.io">f3l1x.io</a> | Twitter 🐦 <a href="https://twitter.com/contributte">@contributte</a> | ||
</p> | ||
|
||
<p align=center> | ||
<img src="https://github.com/contributte/ddd-skeleton/blob/master/.docs/assets/screenshot.png?raw=true"> | ||
<img src="https://github.com/contributte/ddd-skeleton/blob/master/.docs/assets/console.png?raw=true"> | ||
</p> | ||
|
||
----- | ||
|
||
## Goal | ||
|
||
Main goal is to try DDD with [Nette](https://nette.org). | ||
|
||
## Installation | ||
|
||
You will need `PHP 8.2+` and [Composer](https://getcomposer.org/). | ||
|
||
Create project using composer. | ||
|
||
```bash | ||
composer create-project -s dev contributte/ddd-skeleton acme | ||
``` | ||
|
||
Now you have application installed. It's time to run it. | ||
|
||
## Startup | ||
|
||
### HTTP | ||
|
||
You need to spin webserver to display your application. | ||
|
||
```bash | ||
make dev | ||
# php -S 0.0.0.0:8000 -t www | ||
``` | ||
|
||
Then visit [http://localhost:8000](http://localhost:8000) in your browser. | ||
|
||
### Database | ||
|
||
You need to execute migrations. | ||
|
||
```bash | ||
make migrate | ||
# NETTE_DEBUG=1 bin/console migrations:migrate --no-interaction | ||
``` | ||
|
||
### Docker | ||
|
||
You need to spin docker containers with redis and postgres to store & read messages according to your transports. | ||
|
||
```bash | ||
make docker-up | ||
# docker compose up | ||
``` | ||
|
||
## Development | ||
|
||
See [how to contribute](https://contributte.org/contributing.html) to this package. | ||
|
||
This package is currently maintaining by these authors. | ||
|
||
<a href="https://github.com/f3l1x"> | ||
<img width="80" height="80" src="https://avatars2.githubusercontent.com/u/538058?v=3&s=80"> | ||
</a> | ||
|
||
----- | ||
|
||
Consider to [support](https://contributte.org/partners.html) **contributte** development team. Also thank you for using this project. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
<?php declare(strict_types = 1); | ||
|
||
namespace App; | ||
|
||
use Contributte\Bootstrap\ExtraConfigurator; | ||
use Contributte\Nella\Boot\Bootloader; | ||
use Contributte\Nella\Boot\Preset\NellaPreset; | ||
use Nette\Application\Application as WebApplication; | ||
use Symfony\Component\Console\Application as ConsoleApplication; | ||
|
||
final class Bootstrap | ||
{ | ||
|
||
public static function boot(): ExtraConfigurator | ||
{ | ||
return Bootloader::create() | ||
->use(NellaPreset::create(__DIR__)) | ||
->boot(); | ||
} | ||
|
||
public static function runWeb(): void | ||
{ | ||
self::boot() | ||
->createContainer() | ||
->getByType(WebApplication::class) | ||
->run(); | ||
} | ||
|
||
public static function runCli(): void | ||
{ | ||
self::boot() | ||
->createContainer() | ||
->getByType(ConsoleApplication::class) | ||
->run(); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<?php declare(strict_types = 1); | ||
|
||
namespace App\Domain\User; | ||
|
||
class CreateUserCommand | ||
{ | ||
|
||
public function __construct( | ||
public string $username, | ||
public string $password, | ||
public int $role, | ||
) | ||
{ | ||
} | ||
|
||
} |
Oops, something went wrong.