You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
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.
Buenas noches recién reviso el Gmail , profesor piad una vez realizado los
ajustes del proyecto debería volverlo a subir a la página de matcom donde
hice el issue , el alumno Eviell Armenteros C-122
El lun, 6 jul 2026, 11:40 a. m., Alejandro Piad ***@***.***>
escribió:
*apiad* left a comment (matcom/programming#246)
<#246 (comment)>
🔍 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
<https://github.com/matcom/programming/blob/main/results/proyecto-i-2026/reviews/246-proyecto-curso-2025-2026.md>
—
Reply to this email directly, view it on GitHub
<#246?email_source=notifications&email_token=BW6C4GIE35S4J2TV3LBRQMD5DPCARA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIOBZGQ3TENBYGU22M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KYZTPN52GK4S7MNWGSY3L#issuecomment-4894724855>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BW6C4GO6N2OCDBONV34A2F35DPCARAVCNFSNUABFKJSXA33TNF2G64TZHM2DGNZRHA4DANRUHNEXG43VMU5TINRYHA2DIOBRGU4KC5QC>
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
<https://github.com/notifications/mobile/ios/BW6C4GPT3DBUC57OBR7RAS35DPCARA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIOBZGQ3TENBYGU22M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2KUZTPN52GK4S7NFXXG>
and Android
<https://github.com/notifications/mobile/android/BW6C4GN2TVRPBZF5U6BZSG35DPCARA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIOBZGQ3TENBYGU22M4TFMFZW63VGMF2XI2DPOKSWK5TFNZ2K4ZTPN52GK4S7MFXGI4TPNFSA>.
Download it today!
You are receiving this because you authored the thread.Message ID:
***@***.***>
Activity
github-actions commentedon Jun 18, 2026
Verificación Automática — Proyecto I 🤖
Repositorio analizado:
https://github.com/eviellthepolvora-eng/proyecto-curso-2025-20261. 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
pyproject.toml.requirements.txt.Archivos Python (6, 607 líneas en total):
impor.pymain.py.pyalmacen_clases.pyfactura_PERFECTA.pytodo_relacionado_con_fecha.pytransporte.py4. Punto de Entrada
✅ Punto de entrada detectado:
almacen_clases.py5. Ejecución
✅ El proyecto se ejecuta.
Resumen
5/6 verificaciones pasadas.
Verificación automática — los resultados son orientativos. El profesor revisará en detalle.
docs(reviews): add Proyecto I code reviews (batch 3: #244,#246,#247,#248
apiad commentedon Jul 6, 2026
🔍 Revisión de Código — Claude Code
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
import. Para un primer proyecto, eso está por encima del promedio.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.try/exceptal cargar los JSON, algo que muchos principiantes olvidan.Qué mejorar
.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.Nonede forma controlada.fechinguiri,bananaozrestan claridad; y hay varios bloques comentados que conviene borrar antes de entregar.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
Tracebackcon 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.
eviellthepolvora-eng commentedon Jul 16, 2026