Skip to content

[Proyecto I] #246

Open
Open

Description

@eviellthepolvora-eng

Eviell Armenteros Martinez:
C-122
https://github.com/eviellthepolvora-eng/proyecto-curso-2025-2026

Descripción

Este es un sistema de gestión integral que controla todo el proceso desde la venta hasta la entrega. Incluye: Gestión de Pedidos/Facturas y control de Inventario

Activity

  1. github-actions commented on Jun 18, 2026

    @github-actions

    Verificación Automática — Proyecto I 🤖

    Repositorio analizado: https://github.com/eviellthepolvora-eng/proyecto-curso-2025-2026

    1. Repositorio

    ✅ El repositorio es accesible y fue clonado correctamente.

    2. Informe (report.md)

    ✅ report.md — 3,179 palabras (mínimo: 2,000).

    3. Proyecto Python

    ⚠️ Sin pyproject.toml.
    ⚠️ Sin requirements.txt.

    Archivos Python (6, 607 líneas en total):

    • impor.py
    • main.py.py
    • almacen_clases.py
    • factura_PERFECTA.py
    • todo_relacionado_con_fecha.py
    • transporte.py

    4. Punto de Entrada

    ✅ Punto de entrada detectado: almacen_clases.py

    5. Ejecución

    ✅ El proyecto se ejecuta.

    (sin salida)
    

    Resumen

    • ✅ Repositorio accesible
    • ✅ report.md con ≥2000 palabras
    • ✅ Archivos Python
    • ❌ Configuración de dependencias
    • ✅ Punto de entrada
    • ✅ Ejecución

    5/6 verificaciones pasadas.


    Verificación automática — los resultados son orientativos. El profesor revisará en detalle.

  2. apiad commented on Jul 6, 2026

    @apiad
    Member

    🔍 Revisión de Código — Claude Code

    Repositorio: https://github.com/eviellthepolvora-eng/proyecto-curso-2025-2026

    Qué hace tu proyecto

    Es una aplicación de consola para gestionar la distribución de motos: controla el inventario por modelo, crea facturas con datos del cliente, asigna transportistas y registra las entregas. Todo persiste en tres archivos JSON (almacén, pedidos pendientes y entregados), así que el estado sobrevive entre ejecuciones. El menú principal te deja ver y actualizar el inventario, tomar nuevos pedidos, entregar los pedidos del día y eliminar facturas canceladas. El dominio coincide con lo que prometías en el issue: el flujo completo desde la venta hasta la entrega.

    Ejecución

    Lo cloné y lo corrí de verdad, alimentando opciones por teclado. Arranca bien y su núcleo funciona de punta a punta: probé ver inventario, stock bajo, actualizar cantidades (persiste), crear una factura completa (redujo el stock de Yamaha de 4 a 2 y guardó el pedido), entregar los pedidos del día (asignó los tres transportistas y movió las facturas a "entregado") y eliminar una factura (devolvió las motos al almacén). Todo eso funcionó y persistió correctamente. Sin embargo, con entradas inválidas encontré tres errores que rompen el programa con un Traceback: si al arrancar tecleas mal la fecha (una letra, o una fecha imposible como 31/2), el programa se cae en el primer paso; y si al escoger transportador escribes algo que no es un número, también se cae.

    Lo que está bien

    • Muy buena organización en módulos y clases. Dividiste el proyecto en seis archivos con responsabilidades claras (facturas, inventario, transportistas, fechas, eventos) que colaboran entre sí mediante import. Para un primer proyecto, eso está por encima del promedio.
    • La persistencia en JSON funciona de verdad. Verifiqué que crear, entregar y eliminar facturas actualiza correctamente los archivos y devuelve el stock al almacén.
    • Validas bien casi todas las entradas. En la mayoría de los input() numéricos usas .isdigit() y bucles que vuelven a preguntar; el teléfono de 8 dígitos y el tope de cantidad según stock están bien resueltos.
    • Usas try/except al cargar los JSON, algo que muchos principiantes olvidan.

    Qué mejorar

    • Blinda los tres puntos que se caen. Falta validar la entrada de la fecha inicial y la del transportador. Aplica ahí el mismo patrón .isdigit() + volver a preguntar que ya usas en el resto: es tu mayor riesgo, porque el crash de la fecha ocurre en el primerísimo prompt.
    • Corrige la validación de fecha imposible. Cuando la fecha no es válida, el programa intenta devolver una variable que nunca se creó. Haz que vuelva a pedir la fecha o devuelva None de forma controlada.
    • Limpia nombres y código muerto. Nombres como fechinguiri, banana o z restan claridad; y hay varios bloques comentados que conviene borrar antes de entregar.
    • Los transportistas no se reciclan: una vez usados desaparecen de la lista y no vuelven. Considera reincorporarlos al terminar la entrega.

    Sobre el informe

    El informe está muy bien estructurado y la sección final sobre tu proceso de aprendizaje es excelente y honesta. Pero sobreestima algunas cosas: describe un menú de 7 opciones (con "ver detalle") que no coincide con las que corren, afirma un "manejo de errores robusto" que los tres crashes contradicen, y dice que los transportistas se liberan cuando el código no lo hace. Alinéalo con lo que el programa realmente hace.

    Valoración general

    Un trabajo sólido y por encima del promedio de un primer proyecto: la modularización real y la persistencia funcional son su gran fortaleza. El principal punto a pulir es la robustez frente a entradas inválidas —tres Traceback con inputs triviales— y ajustar el informe para que no prometa features inexistentes. Con esos arreglos quedaría muy completo. ¡Buen trabajo!


    Revisión automática de código con Claude Code — orientativa. La nota final la pone el profesor.

    📄 Reporte detallado (código, archivo y línea): ver análisis completo

  3. eviellthepolvora-eng commented on Jul 16, 2026

    @eviellthepolvora-eng
    Author
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions