- Instalar Docker
- Clona este proyecto:
git clone https://github.com/sefhirot69/beer-project.git
- Opcional: Instalar el comando
make
para mejorar el punto de entrada a nuestra aplicación.
- Create una variable de entorno local (
cp .env .env.local
) si quieres modificar cualquier variable de entorno.
- Escribe por terminal el comando
make
. Este comando instalara todo lo necesario para arrancar la aplicación.- Opcional - Si no tenéis el comando
make
, ejecutadocker-compose up -d
y luego instala las dependencias dentro del contenedor generadocomposer install
.
- Opcional - Si no tenéis el comando
- Tienes 3 urls disponibles:
- App - http://localhost:8081
- Swagger API - http://localhost:8080
- Opcional - Puedes importar el fichero raíz
api_documentation.postman_collection.json
a tu aplicación de Postman, para ver los endpoints disponibles.
- Opcional - Puedes importar el fichero raíz
- Swagger Editor - http://localhost:8082
- Para ejecutar todos los tests
make test
- Comandos útiles:
- Este comando
make update-deps
actualiza la aplicación mediante composer. - Este comando
make install-deps
instala las últimas dependencias delcomposer.lock
.
- Este comando
- Comandos composer:
make composer-install
make composer-update
make composer-require module="[paquete]"
omake composer-require module="[paquete] --dev"
- Comandos symfony:
- Limpiar cache
make clear
- Limpiar cache
.
├── BeerCatalog
│ ├── Beer
│ │ ├── Application
│ │ │ └── Find
│ │ │ ├── FindBeerByFoodQueryHandler.php
│ │ │ ├── FindBeerByFoodQueryHandlerInterface.php
│ │ │ └── Query
│ │ │ └── FindBeerByFoodQuery.php
│ │ ├── Domain
│ │ │ ├── Beer.php
│ │ │ ├── BeerDetails.php
│ │ │ ├── CatalogBeer.php
│ │ │ ├── DataSource
│ │ │ │ └── FinderBeerDataSource.php
│ │ │ ├── Dto
│ │ │ │ ├── BeerDetailsDto.php
│ │ │ │ ├── BeerDto.php
│ │ │ │ └── CatalogBeerDto.php
│ │ │ └── Exceptions
│ │ │ └── BeersNotFoundException.php
│ │ └── Infrastructure
│ │ └── ApiPunkFinderBeerRepository.php
│ └── Shared
│ ├── Domain
│ │ ├── Exceptions
│ │ │ └── HttpClientException.php
│ │ └── HttpClientDataSource.php
│ └── Infrastructure
│ ├── Exceptions
│ │ └── GuzzleHttpClientException.php
│ └── GuzzleHttpClientRepository.php
├── Controller
│ ├── Finder
│ │ ├── FindBeerByFoodController.php
│ │ └── FindBeerByFoodWithDetailController.php
│ └── HealthCheck.php
└── Kernel.php
.
├── EndToEnd
│ └── ApiBaseContext.php
├── Functional
│ └── Controller
│ └── Finder
│ ├── FindBeerByFoodControllerFunctionalTest.php
│ └── FindBeerByFoodWithDetailControllerFunctionalTest.php
├── Shared
│ ├── DataMock
│ │ ├── ApiPunkResponse.php
│ │ └── HttpClientResponse.php
│ └── ObjectMother
│ └── MotherCreator.php
├── Unitary
│ ├── BeerCatalog
│ │ ├── Beer
│ │ │ ├── Application
│ │ │ │ └── Find
│ │ │ │ └── FindBeerByFoodQueryHandlerTest.php
│ │ │ ├── Domain
│ │ │ │ ├── BeerDetailsMother.php
│ │ │ │ ├── BeerMother.php
│ │ │ │ └── CatalogBeerMother.php
│ │ │ └── Infrastructure
│ │ │ └── ApiPunkFinderBeerRepositoryTest.php
│ │ └── Shared
│ │ └── Infrastructure
│ │ └── GuzzleHttpClientRepositoryTest.php
│ └── Controller
│ └── Finder
│ ├── FindBeerByFoodControllerTest.php
│ └── FindBeerByFoodWithDetailControllerTest.php
└── bootstrap.php