En este repositorio encontrarás todo lo necesario para completar la prueba y demostrar tus habilidades en el desarrollo de aplicaciones web del lado del servidor.
- Lee cuidadosamente la descripción del proyecto.
- Configura tu entorno de desarrollo local.
- Desarrolla el proyecto utilizando las tecnologías y herramientas especificadas.
- Sigue las instrucciones de la evaluación para entregar tu prueba.
- Tómate tu tiempo para leer y comprender la descripción del proyecto.
- Asegúrate de tener un buen conocimiento de las tecnologías y herramientas que se te solicitan.
- Escribe código limpio, bien documentado y eficiente.
- No dudes en utilizar los recursos disponibles para ayudarte.
- Entrega tu prueba a tiempo.
El objetivo de esta prueba técnica es evaluar tu capacidad para desarrollar un CRUD (Create, Read, Update, Delete) en PHP puro, sin utilizar frameworks. La prueba se divide en dos partes:
- Parte 1: Crear los endpoints para las siguientes acciones en PHP puro:
- Crear un usuario
- Eliminar un usuario
- Actualizar un usuario
- Conseguir la información de un usuario
- Crear un comentario
- Eliminar un comentario
- Actualizar un comentario
- Conseguir la información de un comentario
- Parte 2: (Opcional) Desarrollar una interfaz de usuario con las llamadas a los endpoints creados en JavaScript puro.
Para facilitar el desarrollo y la evaluación, hemos creado un repositorio con Docker. El proyecto incluye:
- Imagen de Apache con PHP 8.2: Proporciona el entorno de ejecución para el código PHP.
- Imagen de MariaDB: Almacena la base de datos utilizada en la aplicación.
- Imagen de PHPMyAdmin: Permite la gestión y visualización de la base de datos de forma gráfica.
- Navegador: http://localhost:8080
- Base de datos: http://localhost:8081
- Usuario: prueba_web
- Contraseña: 123456
- Nombre de la base de datos: prueba
- Host: mariadb
- Tener instalado Docker en tu equipo.
- Tener clonado este repositorio.
- Accede al directorio del proyecto en tu terminal
- Ejecuta el siguiente comando:
docker compose up -d --build
- La opción
--build
solo es necesaria la primera vez que inicies el proyecto. - La opción
-d
(dispatched) inicia el servidor en segundo plano e ignora los logs de Docker. Es opcional.
- Espera a que finalice el proceso de instalación.
- Accede a
localhost:8081
en tu navegador web. - Utiliza las credenciales proporcionadas anteriormente para iniciar sesión.
- Verifica que existe una base de datos llamada
prueba
con dos tablas:user
yuser_comment
.
Si experimentas errores durante la instalación, puedes intentar lo siguiente:
- Detén la instancia de Docker actual:
docker compose stop
- Reinicia la instancia de Docker:
docker compose up -d
- Documentación de Docker: https://docs.docker.com/
- Guía de inicio rápido de Docker Compose: https://docs.docker.com/compose/gettingstarted/
Para entregar la prueba técnica, por favor sigue estos pasos:
- Correo electrónico:
- Envía tu prueba a la dirección de correo electrónico
[email protected]
. - Asunto: Tu nombre completo seguido de
| Prueba backend
. Ejemplo:Miguel Mendoza López | Prueba backend
. - Cuerpo del mensaje:
- Incluye el enlace al repositorio donde has realizado la prueba.
- Proporciona un dato de contacto, ya sea tu correo electrónico o teléfono.
- Envía tu prueba a la dirección de correo electrónico
- Curriculum vitae:
- Adjunta un curriculum vitae actualizado a tu correo electrónico.
Miguel Mendoza López | Prueba backend
Hola,
En este correo electrónico envío mi prueba técnica para el puesto de desarrollador Backend.
Enlace al repositorio: https://github.com/usuario/prueba-backend
Contacto:
* Email: [email protected]
* Teléfono: 666-123-456
Muchas gracias por su tiempo y atención.
Atentamente,
Miguel Mendoza López
- Asegúrate de que el asunto del correo electrónico sea correcto.
- Revisa que el enlace al repositorio funcione correctamente.
- Verifica que tu curriculum vitae esté actualizado y sea legible.
La prueba se evaluará en base a los siguientes criterios:
- Corrección del código:
- El código debe estar bien escrito, con una estructura clara y organizada.
- Se debe utilizar una sintaxis correcta y consistente.
- El código debe ser eficiente y no contener errores que afecten a su rendimiento.
- Debe cumplir con los requisitos de la prueba, incluyendo la implementación de las funcionalidades solicitadas.
- Funcionalidad:
- Los endpoints deben funcionar correctamente y responder a las solicitudes de forma esperada.
- Se debe verificar el correcto manejo de errores y la gestión de las excepciones.
- La aplicación debe ser robusta y capaz de manejar diferentes escenarios de uso.
- Diseño de la interfaz de usuario (opcional):
- Se valorará la calidad del diseño, la usabilidad y la experiencia de usuario.
- La interfaz debe ser intuitiva, atractiva y fácil de usar.
- Se debe tener en cuenta la accesibilidad y la capacidad de respuesta en diferentes dispositivos.
- Implementación de login con Google:
- Se valorará la capacidad de integrar la aplicación con Google OAuth para permitir el login de usuarios.
- La integración debe ser segura y seguir las mejores prácticas.
- Debe usarse el estandar de Open Id.
- Excelente: Cumple con todos los requisitos y puntos extra de forma excepcional.
- Bueno: Cumple con todos los requisitos y la mayoría de los puntos extra.
- Suficiente: Cumple con los requisitos mínimos.
- Insuficiente: No cumple con los requisitos mínimos.
- Se valorará la capacidad del candidato para resolver problemas de forma creativa y eficiente.
- Se tendrá en cuenta la claridad y la documentación del código.
- Se recomienda realizar pruebas exhaustivas de la aplicación antes de entregarla.