5. Tareas realizadas por integrantes - Grupo3ISPC2025/Grupo3_Prog_BD GitHub Wiki

Actividades realizadas en el Proyecto “Portfolio Inteligente”

Estudiante: María Florencia Lorenzati

  1. Diseño y estructura inicial del proyecto: Definición de la estructura general del programa, dividiendo el código en módulos separados: main.py, usuarios.py, auth.py y services.py, para mantener la organización y seguir buenas prácticas de programación. Archivo services y carpeta tests para ampliaciones futuras.
  2. Implementación de funcionalidades básicas
  • Desarrollo inicial de las funciones de registro (sin validar) y visualización de usuarios.
  • Un ejemplo: implementación de la función registrar_usuario() en usuarios.py.
  1. Validaciones y mejoras en la gestión de usuarios
  • Mejora de la función modificar_usuario() para permitir editar apellido
  • Implementación de las siguientes validaciones:
    • Evitar el registro o modificación con correos electrónicos duplicados.
    • Validar que las contraseñas tengan al menos 6 caracteres en la edición.
    • Aceptar solo correos con dominios válidos: @gmail.com, @outlook.com, @hotmail.com.
  1. Manejo de sesión de usuario: Implementación de lógica para mantener la sesión activa después del inicio de sesión, sin necesidad de reingresar credenciales tras cada acción.
  2. Diagrama de Clases (Programación Orientada a Objetos): Realización del Diagrama de Clases del sistema y definición de las clases principales (Usuario, Administrador), sus atributos y métodos.
  3. Uso de Git y colaboración en equipo
  • Creación y uso de la rama personal feature/florencia-lorenzati.
  • Commits nombrados por funcionalidades
  • Trabajo colaborativo siguiendo buenas prácticas de control de versiones en GitHub.

Tareas realizadas en el Proyecto “Portfolio inteligente”

Estudiante: Ignacio Martín Bentivoglio

  1. Autenticación y Validación (auth.py)

*Incorporación de validaciones:

-validar_email(): Se establece una validación estricta para asegurar que los correos electrónicos ingresados contengan @gmail.com, evitando errores en el registro.

-validar_rol(): Se refuerza el control de acceso asegurando que los roles sean únicamente "admin" o "estandar", reduciendo inconsistencias.

  1. Interfaz y Navegación (main.py) El menú principal cambió, con nuevas opciones:

*Se reemplaza la opción "3. Salir" por:

-"3. Iniciar sesión"

-"4. Salir"

*Tras el inicio de sesión, los usuarios administradores cuentan con un submenú exclusivo:

  • Modificar usuarios

  • Eliminar usuarios

  • Ver usuarios

  • Salir

  1. Gestión Avanzada de Usuarios (usuarios.py) Mejoras en la administración de usuarios:

*Corrección de emails: Todos los correos de prueba ahora cumplen con la validación de @gmail.com.

*Registro de usuario:

  • Se eliminó la función previa de registro con argumentos, ahora usa "input()", asegurando una mejor validación de datos mediante "validar_email()" y "validar_rol()".

*Funciones nuevas:

-iniciar_sesion(): Verificación precisa para validar credenciales y garantizar acceso seguro.

-modificar_usuario(admin) - (exclusivo para administradores)_: Permite actualizar nombre, email y contraseña de usuarios con rol "estandar".

-eliminar_usuario(admin) - (exclusivo para administradores)_: Restricciones para permitir eliminación únicamente de usuarios "estandar".

-mostrar_usuarios(): Muestra directamente la lista con índice, nombre, apellido, email y rol.

  1. Creación de diagrama Entidad-Relación y Modelo Relacional

*Representación gráfica de la estructura de datos

-Definir Entidades/relación

-Definir claves primarias y foráneas

  1. Creación de Scripts Bases de Datos:

*Usando MySQL Workbench

-Creación de instrucciones CRUD de usuario

"""* (Hago un paréntesis acá, porque hice un Commit que se mergeo con otro codigo anterior que quedo en el stash, asique eso arruino el codigo creado, por lo que el commit solo quedo en mi rama "feature/ignacio-bentivoglio") Commit:"fix_validaciones_registrar_funcion_usuario" 👎👎

  1. Implementación de clase "Usuario"

*Reemplaza la gestión de usuarios desde los diccionarios

  1. Mover las validaciones al archivo "auth.py"

*Separa la lógica de autenticación y validaciones del código

  1. Vista de modificar usuarios:

*Ahora se muestran los usuarios existentes cuando se elige modificar un usuario en el menú

*"""

"""* Abro otro paréntesis acá, rehíce el código, copiando y pegando directamente desde la rama develop el código, para luego editarlo y agregar los cambios del anterior paréntesis, pero eso quedara en mi rama persona "feature/ignacio-bentivoglio" porque puede causar incompatibilidad y arruinar todo el código, pero si entran en mi historial de commits se puede ver la hora y los cambios realizados. *"""