¿Qué vamos a construir con TDD?
El objetivo principal de nuestro proyecto es construir una aplicación de gestión de repositorios utilizando la metodología TDD (Desarrollo Dirigido por Pruebas). Esta práctica es fundamental para garantizar que nuestro código no solo funcione correctamente, sino que también se mantenga de alta calidad a través del tiempo. Aquí te presento un vistazo al proyecto que desarrollaremos juntos.
Primero, visualicemos la estructura completa de un proyecto hecho en Laravel, donde utilizaremos una herramienta específica enfocada en probar nuestro código PHP. La herramienta de testeo es esencial para verificar que el código cumple con los estándares necesarios. Dentro del proyecto, encontrarás una serie de carpetas, incluida una dedicada exclusivamente a las pruebas llamada TES. Allí se alojarán dos tipos de pruebas:
- Prueba unitaria: Enfocada en verificar el comportamiento de una única unidad de código.
- Prueba de características: Dirigida a evaluar la interacción de múltiples componentes y el flujo completo de funcionalidades.
Durante el curso, trabajarás en ambas carteras para comprender cuándo crear una nueva clase o archivo de prueba, así como la diferencia entre las pruebas unitarias y las de características.
¿Cómo funciona el proyecto y sus funcionalidades?
Este proyecto usa la biblioteca Tailwind CSS para el diseño y la presentación. En la interfaz principal, encontramos un listado de repositorios que cualquier usuario puede visualizar. Aquí, los participantes de la comunidad pueden hacer públicos sus proyectos y darse a conocer en el ámbito de desarrollo.
Funcionalidades del CRUD
Un sistema CRUD (Crear, Leer, Actualizar, Eliminar) te permitirá gestionar tus repositorios:
- Crear: Añadir nuevos repositorios.
- Ver: Visualizar tus propios repositorios.
- Editar: Hacer modificaciones en los repositorios existentes.
- Eliminar: Quitar repositorios que ya no necesites.
El desafío radica en crear un sistema robusto donde solo puedas manipular tus propios repositorios. Intentar visualizar, editar o eliminar un repositorio ajeno no será posible, asegurando la privacidad y seguridad de los recursos de cada usuario.
¿Cómo se maneja el acceso y la validación?
Además de las funcionalidades básicas de un CRUD, implementaremos políticas de acceso para asegurar que solo puedas administrar tus propios recursos. Aquí se incluyen:
- Validación de usuario: Al iniciar sesión, solo podrás ver y modificar tus propios repositorios.
- Acceso restringido: Los repositorios de otros usuarios no serán accesibles para ti, limitando cualquier acción de tipo editar o eliminar.
Este es un sistema integral que combina TDD y políticas de acceso, garantizando así la fiabilidad y seguridad a lo largo del ciclo de vida del desarrollo del software. La comprensión y aplicación de las pruebas, junto con Laravel y Tailwind CSS, te proporcionará una experiencia enriquecedora en el desarrollo de aplicaciones web.
¡Te animo a seguir aprendiendo sobre el desarrollo dirigido por pruebas! Esta metodología no solo mejorará tu habilidad técnica, sino que también te brindará la confianza para construir aplicaciones escalables y mantenibles.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?