Prueba técnica para Backend o Fullstack
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.
Cómo completar la prueba
- 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.
Consejos para completar la 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.
La prueba
Objetivo
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.
Entorno de desarrollo
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.
Acceso al proyecto
Credenciales de la base de datos:
- Usuario: prueba_web
- Contraseña: 123456
- Nombre de la base de datos: prueba
- Host: mariadb
Instalación
Requisitos
- Tener instalado Docker en tu equipo.
- Tener clonado este repositorio.
Pasos
- 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 y user_comment.
Solución de errores
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
Recursos adicionales
Entrega
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
careers@fonsecantero.com.
- 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.
- Curriculum vitae:
- Adjunta un curriculum vitae actualizado a tu correo electrónico.
Ejemplo de asunto de correo electrónico:
Miguel Mendoza López | Prueba backend
Ejemplo de cuerpo del mensaje:
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: miguel.mendoza@correo.com
* Teléfono: 666-123-456
Muchas gracias por su tiempo y atención.
Atentamente,
Miguel Mendoza López
Recomendaciones
- 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.
Evaluación
La prueba se evaluará en base a los siguientes criterios:
Requisitos
- 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.
Puntos extra
- 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.
Escala de evaluación
- 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.
Comentarios:
- 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.