7.3 Desafío Integrador: Inventario Protegido 🏆
Integra las 10 lecciones prácticas construyendo un sistema de inventario completo con CRUD propio, mensajes de operación, sesiones y control de acceso por grupos/permisos.
Especificación de requerimientos, arquitectura de rutas, código integrador de referencia y rúbrica de verificación.
Integración: sistema de inventario protegido
Desarrollar una aplicación de inventario que permita listar, crear, editar y eliminar productos mediante vistas propias. El proyecto debe utilizar modelos y ORM, plantillas HTML, formularios con POST y CSRF, mensajes de resultado, autenticación con sesiones y autorización por permisos o grupos.
Modelo, migraciones y operaciones ORM comprobables.
Tabla HTML, formularios propios, confirmación de borrado y alertas.
Login, logout por POST, login_required y permisos efectivos en servidor.
Capturas, repositorio y demostración de accesos autorizados y denegados.
Mapa de Rutas y Permisos del Sistema Integrado
Conecta las vistas desarrolladas en las lecciones 01 a 10 dentro de tu archivo urls.py asegurándote de aplicar la matriz de seguridad por rol:
Checklist de Verificación antes de Entregar
{% csrf_token %} y procesados con request.POST.get() en la vista (sin usar ModelForm).Decimal e int dentro de bloques try / except verificando que precios y stocks no sean negativos.get_object_or_404, muestra una plantilla de confirmación y solo ejecuta producto.delete() cuando request.method == 'POST'.messages: Cada creación, edición y eliminación informa su resultado mediante messages.success o messages.warning tras el redirect().LOGIN_URL; operadores sin grupo/permiso reciben HTTP 403 Forbidden al intentar crear, editar o eliminar.Diseño académico con las 10 videolecciones integradas mediante iframe en las Partes 1 y 2; su visualización también está disponible directamente en la lista de reproducción de YouTube enlazada en cada lección.
Ponte a prueba — Evaluación Integradora
Verifica que dominas el ciclo completo del sistema de inventario protegido antes de pasar al módulo de APIs RESTful.


