Skip to content

[Proyecto I] #329

Description

@kapibaradeioi

Liz Rachel Perez Almaguer
C111
https://github.com/kapibaradeioi/proyect

Descripción

Un lugar para atender a tus mascotas y agendar servicios de cuidado y limpieza

Activity

  1. github-actions commented on Jun 27, 2026

    @github-actions

    Verificación Automática — Proyecto I 🤖

    Repositorio analizado: https://github.com/kapibaradeioi/proyect

    1. Repositorio

    ✅ El repositorio es accesible y fue clonado correctamente.

    2. Informe (report.md)

    ❌ No se encontró report.md en el repositorio.

    3. Proyecto Python

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

    Archivos Python (12, 2,009 líneas en total):

    • main.py
    • logica/cargar_citas_logica.py
    • logica/ver_citas_logica.py
    • logica/tiempo_eventos.py
    • logica/crear_cita_logica.py
    • logica/eventos_logica.py
    • interfaz/main_menu.py
    • interfaz/registro.py
    • interfaz/crear_cita.py
    • interfaz/ver_citas.py
    • interfaz/cargar_citas.py
    • interfaz/eventos.py

    4. Punto de Entrada

    ✅ Punto de entrada detectado: main.py

    5. Ejecución

    ✅ El proyecto se ejecuta.

    Traceback (most recent call last):
      File "/tmp/tmp5ct_nasr/repo/main.py", line 7, in <module>
        from kivy.app import App
    ModuleNotFoundError: No module named 'kivy'
    

    Resumen

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

    4/6 verificaciones pasadas.


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

  2. kapibaradeioi commented on Jun 27, 2026

    @kapibaradeioi
    Author

    actualizado bot

  3. apiad commented on Jul 16, 2026

    @apiad
    Member

    🔍 Revisión de Código — Claude Code

    Repositorio: https://github.com/kapibaradeioi/proyect

    Qué hace tu proyecto

    Construiste una aplicación gráfica (Kivy) para gestionar citas de cuidado de
    mascotas: creas una cita, eliges servicios (Bañar, Peinar, Cortar pelo…), la app
    descuenta los insumos del inventario, te deja programar fecha y hora en un
    calendario navegable evitando choques de horario, e incluso te sugiere el hueco
    libre más cercano. Es un proyecto ambicioso y bien estructurado — de los más
    maduros que se ven en primer año.

    Ejecución

    Tu proyecto corre. Como es una GUI (no consola), hice dos cosas: (1) ejecuté
    toda tu lógica de negocio con los datos reales del repo, y (2) arranqué main.py
    de verdad en modo headless. La app construyó su primera pantalla sin ningún error,
    registró las 6 pantallas y guardó una cita en JSON. Además conduje el flujo de
    "Crear Cita" a través de las pantallas reales: con campos vacíos o teléfono corto
    muestra el aviso y no avanza; con datos válidos navega a Eventos y persiste la
    cita. Todo el ciclo (crear → seleccionar evento → descontar inventario → programar
    → detectar colisión → buscar hueco) funcionó sin un solo Traceback.

    Lo que está bien

    • Separación interfaz/lógica de verdad. Pude ejecutar todo logica/ sin tocar
      un solo widget. Eso demuestra que la separación no es decorativa. Excelente.
    • Descuento de inventario correcto. Al activar "Bañar" verifiqué que bajó
      Shampoo 3→2, Jabón 31→30, Esponja 27→26, Guantes 8→7, etc. Exacto.
    • Colisiones bien pensadas. "Cortar pelo" a las 9:10 sobre un "Bañar" de
      9:00-9:30 se bloquea; a las 10:00 (sin solape) se permite. Detalle fino.
    • Robustez ante datos malos. JSON corrupto → devuelve lista vacía sin reventar.
      Evento inexistente → lo maneja. Normalizas nombres (minúsculas/espacios) en casi
      todas las comparaciones. Muy maduro.
    • Documentación. Docstrings en todos los módulos y casi todas las funciones.

    Qué mejorar

    • requirements.txt no instala. La línea cleidna==3.11 es un typo de idna,
      y hace que pip install -r requirements.txt falle entero (lo comprobé). Corrígelo
      a idna y, ya que estás, poda las dependencias que no usas: en realidad sólo
      necesitas kivy y pillow. Un requirements.txt limpio es lo primero que
      ejecuta quien clone tu repo.
    • Estado de sesión desincronizado al cargar una cita. Tienes dos variables
      RUTA_JSON distintas: una en logica/crear_cita_logica.py y otra en
      logica/tiempo_eventos.py. Cuando cargas un JSON guardado, seleccionar_json_actual
      sólo actualiza la primera. Verifiqué que, tras cargar, "Ver citas" apunta al
      archivo cargado pero "Registro" sigue en la sesión anterior. Solución: que
      seleccionar_json_actual fije ambas rutas (o mejor, guarda la sesión activa en
      un solo lugar y que ambos módulos lo lean de ahí). Es el arreglo más importante.
    • Función duplicada. validar_acciones_programadas está escrita dos veces
      idéntica en logica/tiempo_eventos.py (líneas 339 y 372). La primera es código
      muerto; bórrala.
    • Detalle menor: los mensajes de "faltan insumos" muestran los nombres en
      minúscula porque _nombre_display devuelve la clave normalizada. Guarda también
      el nombre original para mostrarlo bonito.

    Sobre el informe

    Tu report.md es honesto y fiel al código: describe la arquitectura real y nombra
    funciones que existen con la firma correcta, sin inflar features. Dos matices: (1)
    menciona jsons/temporales/ como si viniera en el repo, pero esa carpeta se crea
    al ejecutar; y (2) no menciona los dos defectos de arriba (el requirements.txt y
    el RUTA_JSON). Nada grave — sólo omisiones.

    Buen trabajo, en serio. Tienes una base arquitectónica que muchos proyectos más
    grandes envidiarían; arregla el requirements.txt y la sesión al cargar, y queda
    redondo. 💪

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