Este proyecto es una aplicación web construida con Flask que se ejecuta en un contenedor Docker. En este contenedor Docker, además de la aplicación Flask que ocupa el puerto 5000, se ejecutan una base de datos PostgreSQL en el puerto 5432 y pgAdmin en el puerto 80. A continuación, se detallan los pasos para levantar la aplicación desde el contenedor.
Antes de continuar, asegúrate de tener instalados los siguientes requisitos en tu sistema:
Clona este repositorio en tu sistema:
git clone https://github.com/CristianPumaES6/L3V3L_UP_T3K.git
Navega hasta el directorio del proyecto:
cd L3V3L_UP_T3K
Construye la imagen Docker utilizando el siguiente comando:
docker-compose build
Inicia los contenedores utilizando el siguiente comando:
docker-compose up
Una vez que los contenedores estén en funcionamiento, podrás acceder a la aplicación Flask y validar la conexion con la siguiente URL:
http://localhost:5000/test_db_connection
# SI LA CONEXION ESTA OK, Significa que se mapeo correctamente las talbas users,images en la BD root
# Podemos saltarnos al paso numero 11
http://localhost:5000/register
Abrimos la interfaz de administración de PostgreSQL a través del navegador:
http://localhost/
Utiliza las credenciales predeterminadas para acceder al {PGADMIN}
{
usuario: admin@admin.com,
contraseña: admin
}
Luego crearemos una nueva conexion
{
Hostname: postgrest,
port: 5432,
maintenance: root,
username: root,
psw: root,
}
Ahora la configuración por defecto de la base de datos está con 'root'. Podemos crear una nueva base de datos llamada 'l3v3lupt3k', esto es opcional. Si deseamos agregar otra base de datos, tendríamos que hacer lo siguiente:
# name data base
l3v3lupt3k
# Modificamos la bd a ingresar
config.py/
class Config:
SECRET_KEY = os.getenv('SECRET_KEY', 'tu_clave_secreta_predeterminada')
# Database URI
SQLALCHEMY_DATABASE_URI = 'postgresql://root:root@postgres:5432/l3v3lupt3k'
Ahora tendremos que mapear las tablas a la nueva BD
# Detenemos docker y volvemos a ejecutar
docker-compose up
# Nos dirigimos al pgadmin y revisamos dentro de Schemas/public/tabla/ Si se crearon las tablas users y Images
http://localhost/
# { ESTO ES OPCIONAL }
# Si las tablas no se crearon, tendremos que hacerlo manualmente o desde el source venv/bin/activate
source venv/bin/activate
flask db init
flask db migrate
flask db upgrade
http://localhost/
Empezamos registrando un nuevo usuario para luego iniciar session :
http://localhost:5000/register
Este proyecto incluye pruebas unitarias para garantizar el correcto funcionamiento de las funcionalidades. A continuación, se proporcionan instrucciones sobre cómo ejecutar estas pruebas.
Asegúrate de que tengas Python y las dependencias requeridas instaladas en tu entorno.
Configura tu entorno virtual (si se utiliza) e instala las dependencias del proyecto:
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install -r requirements.txt
Ejecuta las pruebas unitarias utilizando el siguiente comando:
python -m unittest tests.test_auth
Para ejecutar las pruebas unitarias, sigue estos pasos:
Pantalla de Inicio / Inicio de Sesión
/
y /login
Pantalla de Registro 📝
/registro
Actualizar Imagen de Perfil 📷
/updateImage
Imágenes del Usuario 🖼️ 🖼️ 🖼️
/userImages
@images_bp.route('/add_photo_user', methods=['POST'])
@images_bp.route('/processImage', methods=['POST'])
:::::