pfo2-programacionsobreredes

PFO 2: Sistema de Gestión de Tareas con API y Base de Datos

# Materia: Programación Sobre Redes.

Github page: https://iriszamora.github.io/pfo2-programacionsobreredes/

Instrucciones para ejecutar el proyecto

  1. Clonar el repositorio:

git clone https://github.com/IrisZamora/pfo2-programacionsobreredes.git

cd pfo2-programacionsobreredes

  1. Crear entorno virtual:

python -m venv venv

  1. Activar entorno:

venv\Scripts\activate

  1. Instalar dependencias:

pip install flask flask-bcrypt flask-sqlalchemy

  1. Ejecutar API:

python servidor.py

El servidor se ejecutará en: http://127.0.0.1:5000

  1. Cliente por consola para interactuar con la API

Instalar dependecia: pip install requests

Ejecutar: Primero tener corriendo el servidor y en otra terminal ejecutá: python cliente.py

Aparecerá un menú, ingresá la opción que desees y seguí las instrucciones por consola.

Endpoints y pruebas

Endpoints disponibles:

Pruebas con Postman:

✅POST: http://127.0.0.1:5000/registro

Registro exitoso:

Registro exitoso

Intento de registrar usuario existente:

Registro usuario existente

✅POST: http://127.0.0.1:5000/login

Login Exitoso:

Login Exitoso

Login fallido:

Login fallido

✅GET: http://127.0.0.1:5000/tareas

Página de tareas:

Tareas bienvenida

Pruebas utilizando Cliente por consola:

Registro exitoso:

Registro exitoso

Intento de registrar usuario existente:

Registro usuario existente

Login Exitoso:

Login Exitoso

Login fallido:

Login fallido

Página de tareas:

Tareas bienvenida

Respuestas conceptuales

Porque guardar contraseñas en texto plano es un riesgo de seguridad. Si alguien accede a la base de datos, las podría ver. Hashearlas significa que se guarda una versión encriptada que no se puede revertir fácilmente.

SQLite es una base de datos ligera, sin necesidad de servidor, ideal para proyectos chicos. Facilita pruebas y despliegue rápido sin configuraciones complejas. Además es fácil de integrar con Flask.