Para realizar pruebas sobre el punto 1 se debe ajustar el Host Virtual del servidor web con el que hagan pruebas o en su defecto crear un Host Virtual, alli se debe configurar el apuntamiento a la ruta public, de esa manera el .htaccess encontrara el index.php y redireccionara todas las peticiones allí.
eg: backend-php-1/Public
Se valorarán todas las aclaraciones, comentarios y documentación que considere pertinente para facilitar la corrección de la prueba.
Para descargar la coleccion de Postman en caso de querer hacer pruebas: Coleccion Postman
Implementar la representación del acrónimo CRUD (Create, Read, Update y Delete) para la gestión de nuevos empleados vía un formulario, con los siguientes datos:
- Nombres
- Apellidos
- Edad
- Fecha de Ingreso
- Comentarios
El resultado del punto debe guardarse en una carpeta cuyo nombre sea backend-php-1
.
Nota: La implementación debe contener código PHP nativo. En esta primera parte, la utilización de código HTML y CSS puede ser básica. Todos los campos son obligatarios salvo "Comentarios" que puede quedar vacío en caso de que el operador así lo desee.
Implementar para el punto anterior una librería, como puede ser el caso de Bootstrap o la que considere más apropiada, a fin de incorporar mejoras en los componentes visuales de la aplicación. La implementación de la librería frontend no debe alterar el funcionamiento original de la aplicación. El resultado del punto debe guardarse en una carpeta cuyo nombre sea frontend
.
Implementar en una prueba de concepto una API utilizando un framework de PHP, como puede ser el caso de Laravel o el que considere más apropiado, a fin de poder obtener vía método GET el listado de los empleados dados de alta. La API debería consultar la misma base de datos utilizada en Backend PHP (Parte 1). El resultado del punto debe guardarse en una carpeta cuyo nombre sea backend-php-2
.
Nota: Se valorará la inclusión de los métodos PUT, POST y DELETE. a
Migrar la API del punto anterior a Java utilizado Spring Boot como framework de desarrollo. El resultado del punto debe guardarse en una carpeta cuyo nombre sea backend-java
.
Sqlime es un playground de SQLite que su demo database contiene las siguientes tablas:
CREATE TABLE employees (
id integer primary key,
name text,
city text,
department text,
salary integer
)
CREATE TABLE expenses (
year integer,
month integer,
income integer,
expense integer
)
Tip: Puede ejecutar el query
SELECT sql FROM sqlite_schema;
para obtener la información previa.
Se solicita que migre de SQLite a MySQL la estructura previa, conservando los datos ya existentes, e incorporando:
- Una tabla intermedia
departament
que contenga los camposid
yname
en su estructura. - Que las tablas
employees
ydepartament
están relacionadas bajo la forma:- Un empleado pertenece a un departamento. Un departamento puede contener varios empleados.
- Que las tablas
department
yexpenses
están relacionadas bajo la forma:- Un departamento puede tener varios gastos. Un gasto pertenece a un departamento.
Adicionalmente, incluir un script o consulta SQL según corresponda, para los siguientes puntos:
- Creación e inserción de datos para la base de datos migrada.
- Listado de todos los datos de los empleados del departamento "hr".
- Listado de los 3 (tres) departamentos que más gasto producen.
- Listado de todos los datos del empleado con mayor sueldo.
- Cantidad de empleados con sueldo menor o igual a 1000.
El resultado del punto debe guardarse en una carpeta cuyo nombre sea bbdd
.
Importante: La entrega de la resolución debe realizarse según las indiciones previas al correo electrónico [email protected] mediante una carpeta compartida vía Drive o repositorio de GitHub compartido ambos de forma privada.