A partir de 3 fuentes de datos, crear una aplicación en PHP orientado a objetos que pueda ser ejecutada desde el terminal según los siguientes lineamientos.
-
El diseño de las entidades (clases, métodos y funciones) debe estar abierto para extensiones (ej: caso de agregar un tipo de fuente adicional).
-
Uso de composer para manejo de librerías y autoloading (PSR4).
-
Uso estricto de estándares PSR.
-
Uso estricto de principios SOLID, KISS, DRY.
-
Pruebas unitarias con phpunit, se requiere code coverage del 100% y tests sobre distintos escenarios.
-
Uso de herramientas QA, phpcs, pdepend, phpmd.
-
En el README del proyecto, explica y justifica metodología y patrón de diseño usado.
-
Estructura del proyecto con las siguientes carpetas
/app - ejecución de la aplicación. /src - código fuente y librerías propias. /assets - archivos estáticos. /tests - pruebas unitarias. /vendor - librerías de terceros. Envíame el código a través de github al usuario christian130
/app /src /assets /tests /vendor
From 3 data sources, create an object-oriented PHP application that can be executed from the terminal according to the following guidelines.
The design of the entities (classes, methods and functions) must be open for extensions (eg in case of adding an additional source type).
Use of composer for handling of libraries and autoloading (PSR4).
Strict use of PSR standards.
Strict use of SOLID, KISS, DRY principles.
Unit testing with phpunit requires 100% code coverage and tests on different scenarios.
Use of tools QA, phpcs, pdepend, phpmd.
In the project README, explains and justifies methodology and design pattern used.
Project structure with the following folders
/ App - application execution. / Src - source code and own libraries. / Assets - static files. / Tests - unit tests. / Vendor - third-party libraries.
/ App / src / assets / tests / vendor