Ejercicio de programación con Python: Proyecto gestor de tareas CRUD

Proyecto
Práctica
1h 30m

Desarrolla un gestor de tareas en Python con operaciones CRUD, clases Proyecto y Tarea, y filtrado por estado y proyecto.

  1. Crear la estructura del proyecto: Organiza tu proyecto con los siguientes archivos: models.py para las clases de entidades, repositories.py para los repositorios, y app.py como script principal.

  2. Implementar las entidades: En models.py, define la clase Proyecto con atributos como id, nombre, descripción y fecha de creación. Luego, define la clase Tarea con atributos como id, título, descripción, estado (pendiente, en progreso, completada), fecha límite y un identificador del proyecto al que pertenece.

  3. Crear los repositorios: En repositories.py, implementa las clases ProyectoRepositorio y TareaRepositorio que utilicen diccionarios como almacenamiento. Cada repositorio debe implementar métodos para crear, obtener, listar, actualizar y eliminar elementos.

  4. Implementar relaciones entre entidades: Añade métodos en TareaRepositorio para filtrar tareas por proyecto y por estado. Asegúrate de que al eliminar un proyecto, se eliminen también todas sus tareas asociadas.

  5. Añadir validaciones: Implementa validaciones básicas, como comprobar que los campos obligatorios no estén vacíos, que los IDs sean únicos y que las fechas tengan formato correcto.

  6. Desarrollar el script principal: En app.py, crea instancias de los repositorios y realiza operaciones CRUD para demostrar todas las funcionalidades. Crea al menos dos proyectos y varias tareas para cada uno, mostrando por consola los resultados de cada operación.

  7. Probar las operaciones CRUD: Demuestra la creación, lectura, actualización y eliminación tanto de proyectos como de tareas. Muestra también cómo filtrar tareas por proyecto y por estado.

  8. Implementar manejo de errores: Añade manejo de excepciones para casos como intentar acceder a un elemento que no existe o actualizar con datos inválidos.

Empezar ejercicio de programación

Más ejercicios de programación con Python

Evalúa tus conocimientos en Python con más ejercicios de programación de tipo Test, Puzzle, Código y Proyecto con VSCode.

Tecnologías de este ejercicio de programación

Entornos de desarrollo para este ejercicio

Image

Visual Studio Code

Image

GitHub