diff --git a/.gitignore b/.gitignore index 0acce77..3d0d07a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /apps/*/*/var/ /vendor/ +.idea/* \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0648262 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM php:7.3.6-fpm-alpine +WORKDIR /app + +RUN apk --update upgrade + +RUN apk add --no-cache autoconf automake make gcc g++ icu-dev rabbitmq-c rabbitmq-c-dev + +RUN pecl install amqp-1.9.4 \ + && pecl install apcu-5.1.17 \ + && pecl install xdebug-2.7.0RC2 \ + && docker-php-ext-install -j$(nproc) bcmath opcache intl pdo_mysql \ + && docker-php-ext-enable amqp apcu opcache xdebug + +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer diff --git a/Makefile b/Makefile index a55afee..0a06d7f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,20 @@ .PONY: start-local +build-app: + docker build . -t project-ddd + docker run --rm --volume ${PWD}:/app project-ddd composer install + start-local: - php -S localhost:8090 apps/mooc/backend/public/index.php + docker run --rm -d \ + --name project-ddd-ps \ + --volume ${PWD}:/app \ + -p 80:8080 \ + project-ddd \ + php -S 172.17.0.2:8080 apps/mooc/backend/public/index.php + +http-get-health-check: + curl http://172.17.0.2:8080/health-check + +http-get-greet: + curl http://172.17.0.2:8080/greet?name=manolo + diff --git a/apps/mooc/backend/config/routes/greet.yaml b/apps/mooc/backend/config/routes/greet.yaml new file mode 100644 index 0000000..72b9969 --- /dev/null +++ b/apps/mooc/backend/config/routes/greet.yaml @@ -0,0 +1,4 @@ +greet_get: + path: /greet + controller: CodelyTv\Apps\Mooc\Backend\Controller\Greet\GreetGetController + methods: [GET] diff --git a/apps/mooc/backend/config/services.yaml b/apps/mooc/backend/config/services.yaml index d79e5e9..3814083 100644 --- a/apps/mooc/backend/config/services.yaml +++ b/apps/mooc/backend/config/services.yaml @@ -3,7 +3,6 @@ services: autoconfigure: true autowire: true - CodelyTv\Apps\Mooc\Backend\Controller\: resource: '../src/Controller' tags: ['controller.service_arguments'] diff --git a/apps/mooc/backend/src/Controller/Greet/GreetGetController.php b/apps/mooc/backend/src/Controller/Greet/GreetGetController.php new file mode 100644 index 0000000..8ca4a52 --- /dev/null +++ b/apps/mooc/backend/src/Controller/Greet/GreetGetController.php @@ -0,0 +1,32 @@ +generator = $generator; + } + + public function __invoke(Request $request): Response + { + $name = $request->get('name'); + return new JsonResponse( + [ + 'mooc-backend' => 'ok', + 'message' => $this->generator->generate($name), + 'date' => date('Y-m-d h:i:s') + ] + ); + } +} \ No newline at end of file diff --git a/src/Shared/Infrastructure/GreetGenerator.php b/src/Shared/Infrastructure/GreetGenerator.php new file mode 100644 index 0000000..535dc4b --- /dev/null +++ b/src/Shared/Infrastructure/GreetGenerator.php @@ -0,0 +1,13 @@ +