Hoy, os traigo un artículo sobre el primer proyecto que vamos a desarrollar juntos. Se trata de una aplicación web con Streamlit que nos permitirá visualizar y analizar datos de forma interactiva. Pero antes de entrar en materia, os voy a explicar qué es la metodología CRISP-DM.
Ignacio, llegué acá googleando un poco y debo admitir que quedé impresionado por las prestaciones de Streamlit y tu proyecto de Finanzas Personales. Te cuento que soy un novato con Python, pero lo que vi en tu aplicación me sirve de inspiración para lo que espero de la mía (objetivo: administrar una cartera de Inversiones en Argentina). En tal sentido quisiera replicar la instalación de la aplicación en mi propio entorno, para poder tomar como base lo relacionado con el manejo de usuarios y sesiones. No encuentro en https://github.com/ignareyesa/streamlit-personalfinance todo lo relacionado con los scripts de creación de la base de datos y quiero saber si podrías compartir dichos scripts.
Desde ya agradezco por tu tiempo y todo el apoyo que me puedas brindar.
Antes que nada, quería agradecerte por tus amables palabras.
En el próximo capítulo, vamos a explorar con más detalle el tema de los usuarios y la conexión a la base de datos.
En cuanto a tu comentario sobre "no poder encontrar los scripts de creación de la base de datos", quiero aclarar que en realidad no he utilizado scripts específicos para crear la base de datos. Simplemente, una vez que la base de datos está creada, guardo la información necesaria en st.secrets (archivo oculto por seguridad) y uso esa información para inicializar la conexión a la base de datos (código init_app).
Si deseas hacer lo mismo, puedes utilizar bases de datos online gratuitas. Por ejemplo, freesqldatabase.com te ofrece acceso gratuito a una base de datos, así como a la información necesaria para conectarte. OJO, debes tener en cuenta que estas soluciones son adecuadas solo para entornos de prueba y nunca para entornos de producción.
En cuanto al código init_app.py:
En la línea 16, abrimos la conexión a la base de datos utilizando la clase Database. Puedes encontrar la definición de esta clase aquí: https://github.com/ignareyesa/streamlit-personalfinance/blob/main/database_connection/database.py. Como puedes ver, esta clase requiere varios parámetros como el host, el nombre de la base de datos, la contraseña, etc. Toda esta info la obtendras al crear la BBDD online gratuita.
Para tu código en lugar de hacer db = Database(**st.secrets["mysql-digitalocean"]), podrías hacer lo siguiente:
Ignacio, llegué acá googleando un poco y debo admitir que quedé impresionado por las prestaciones de Streamlit y tu proyecto de Finanzas Personales. Te cuento que soy un novato con Python, pero lo que vi en tu aplicación me sirve de inspiración para lo que espero de la mía (objetivo: administrar una cartera de Inversiones en Argentina). En tal sentido quisiera replicar la instalación de la aplicación en mi propio entorno, para poder tomar como base lo relacionado con el manejo de usuarios y sesiones. No encuentro en https://github.com/ignareyesa/streamlit-personalfinance todo lo relacionado con los scripts de creación de la base de datos y quiero saber si podrías compartir dichos scripts.
Desde ya agradezco por tu tiempo y todo el apoyo que me puedas brindar.
Saludos,
Leo.
¡Hola Leonardo!
Antes que nada, quería agradecerte por tus amables palabras.
En el próximo capítulo, vamos a explorar con más detalle el tema de los usuarios y la conexión a la base de datos.
En cuanto a tu comentario sobre "no poder encontrar los scripts de creación de la base de datos", quiero aclarar que en realidad no he utilizado scripts específicos para crear la base de datos. Simplemente, una vez que la base de datos está creada, guardo la información necesaria en st.secrets (archivo oculto por seguridad) y uso esa información para inicializar la conexión a la base de datos (código init_app).
Si deseas hacer lo mismo, puedes utilizar bases de datos online gratuitas. Por ejemplo, freesqldatabase.com te ofrece acceso gratuito a una base de datos, así como a la información necesaria para conectarte. OJO, debes tener en cuenta que estas soluciones son adecuadas solo para entornos de prueba y nunca para entornos de producción.
En cuanto al código init_app.py:
En la línea 16, abrimos la conexión a la base de datos utilizando la clase Database. Puedes encontrar la definición de esta clase aquí: https://github.com/ignareyesa/streamlit-personalfinance/blob/main/database_connection/database.py. Como puedes ver, esta clase requiere varios parámetros como el host, el nombre de la base de datos, la contraseña, etc. Toda esta info la obtendras al crear la BBDD online gratuita.
Para tu código en lugar de hacer db = Database(**st.secrets["mysql-digitalocean"]), podrías hacer lo siguiente:
db = Database(host="HOST DE TU BBDD",
port="PUERTO",
user="USUARIO",
password="CONTRASEÑA",
database="NOMBRE BASE DE DATOS")
Luego, en la línea 49, ejecutamos las consultas predeterminadas (run_predefined_queries) que se definen aquí: https://github.com/ignareyesa/streamlit-personalfinance/blob/main/predefined_queries.json y que son las que se encargar de crear las tablas en tu BBDD si no están ya creadas
Espero haber respondido a tu pregunta de manera clara. De todas formas, en el siguiente artículo profundizaré más en estos temas.
¡Saludos!
Por cierto, recuerda que todos hemos sido principiantes en algún momento, ¡así que no te desanimes!