- Instalar Docker
- Clona este proyecto:
https://github.com/sefhirot69/wine_tasting.git
- Opcional: Instalar el comando
make
para mejorar el punto de entrada a nuestra aplicación.
- Escribe por terminal el comando
make
. Este comando instalara todo lo necesario para arrancar la aplicación, junto con su base de datos.- Opcional - Si no tenéis el comando
make
, ejecutadocker-compose up -d
y luego instala las dependencias dentro del contenedor generado concomposer install
. - Opcional - Luego dentro del contenedor ejecuta los siguientes comandos para tener datos en la base de datos en el siguiente orden:
php bin/console doctrine:migration:migrate
php bin/console doctrine:fixtures:load -q
- Opcional - Si no tenéis el comando
- La web estará disponible en la siguiente url http://localhost:90
- Para ejecutar todos los tests
make test
- Comandos útiles:
- Este comando
make deps
instala todas las dependencias y resetea los datos de la base de datos. make lint
Aplica al código los estándares @PSR12 y @Symfonymake lint-diff
Puedes ver los cambios que se van aplicar para cumplir con el estandar.
- 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
.
├── Measurements
│ ├── Application
│ │ └── ListMeasurementsQueryHandler.php
│ ├── Domain
│ │ ├── CharacteristicsMeasurements.php
│ │ ├── Dto
│ │ │ ├── CharacteristicsMeasurementsDto.php
│ │ │ ├── ListMeasurementsDto.php
│ │ │ ├── MeasurementTypeDto.php
│ │ │ ├── MeasurementsDto.php
│ │ │ └── VarietyTypeDto.php
│ │ ├── ListMeasurementsDataSource.php
│ │ ├── MeasurementType.php
│ │ ├── Measurements.php
│ │ └── VarietyType.php
│ └── Infrastructure
│ └── DoctrineListMeasurementsRepository.php
├── Shared
│ ├── Domain
│ │ ├── Exceptions
│ │ │ ├── InvalidPasswordException.php
│ │ │ ├── InvalidSignInEmailException.php
│ │ │ └── InvalidYearException.php
│ │ └── ValueObjects
│ │ ├── EmailValueObject.php
│ │ ├── PasswordValueObject.php
│ │ └── YearValueObject.php
│ └── Infrastructure
│ └── UserRepository.php
├── Signin
│ ├── Application
│ │ ├── SignInCommand.php
│ │ └── SignInCommandHandler.php
│ ├── Domain
│ │ ├── Dto
│ │ │ ├── SignInUserDto.php
│ │ │ └── SingInByEmailDto.php
│ │ ├── SignInDataSource.php
│ │ └── SignInEmailValueObject.php
│ └── Infrastructure
│ └── DoctrineSignInRepository.php
└── User
├── Application
│ ├── RegisterUserCommand.php
│ └── RegisterUserCommandHandler.php
├── Domain
│ ├── Dto
│ │ ├── UserDto.php
│ │ ├── UserHashPasswordDto.php
│ │ └── UserRegisterDto.php
│ ├── Exceptions
│ │ └── EmailNotFoundException.php
│ ├── UserDataSource.php
│ └── UserHashPasswordDataSource.php
└── Infrastructure
└── SymfonyUserHashPasswordRepository.php
De momento son todos los tests unitarios. Pero en el futuro se dividiran en Unitarios, Funcionales y de Intergración.
├── WineTasting
│ ├── Measurements
│ │ └── Infrastructure
│ │ └── DoctrineListMeasurementsRepositoryTest.php
│ ├── Shared
│ │ └── Infrastructure
│ │ └── UserRepositoryTest.php
│ ├── Signin
│ │ ├── Application
│ │ │ └── SignInCommandHandlerTest.php
│ │ └── Infrastructure
│ │ └── DoctrineSignInRepositoryTest.php
│ └── User
│ ├── Application
│ │ └── RegisterUserCommandHandlerTest.php
│ └── Infrastructure
│ └── SymfonyUserHashPasswordRepositoryTest.php
└── bootstrap.php