Examen Práctico: Desarrollo de una Herramienta de Registro de Créditos
Realizado por: Luis Fernando Bautista Alcozer
El proyecto utiliza una base de datos SQLite ubicada en (Database/creditos.db), la cual ya está incluida en el repositorio. En caso de que no exista, puede generarse automáticamente ejecutando el script init_db.py.
Ejecuta el siguiente comando en una terminal para clonar el repositorio:
git clone https://github.com/FerFerFer35/RegistroCreditos.gitIngresa al directorio recién clonado:
cd RegistroCreditosSi aún no tienes pipenv instalado, ejecútalo con:
py -m pip install pipenvSi ya tienes pipenv, puedes omitir este paso.
Ejecuta el siguiente comando para instalar todas las dependencias definidas en el entorno:
py -m pipenv installUna vez instaladas las dependencias, activa el entorno con:
py -m pipenv shellCon el entorno virtual activo, lanza el servidor:
python app.pyEl siguiente diagrama representa el flujo general de interacción dentro del sistema. Muestra cómo el usuario puede navegar entre las diferentes secciones principales (como visualizar gráficas o registrar créditos), así como las acciones disponibles en cada vista, incluyendo operaciones como editar o eliminar un crédito existente. Este flujo ayuda a comprender la lógica de navegación y las relaciones entre componentes clave del sitio.
graph TD;
Inicio --> VerGrafica;
Inicio --> RegistrarCredito;
Inicio --> VerCreditos;
VerCreditos --> EditarCredito;
EditarCredito --> VerCreditos;
VerCreditos --> EliminarCredito(( Eliminar));
VerCreditos --> RegistrarCredito;
RegistrarCredito --> VerCreditos;
RegistrarCredito --> VerGrafica;
VerGrafica --> RegistrarCredito;
VerCreditos --> VerGrafica;
RegistrarCredito --> VerGrafica;
Quisiera agradecer a la empresa por haberme considerado como candidato para el puesto. Para mí fue una experiencia valiosa realizar esta pequeña prueba técnica, ya que implicó aprender a trabajar con un nuevo framework como Flask. Anteriormente había trabajado con Laravel y Spring, por lo que la adaptación fue rápida.
En cuanto a la estructura, el estilo y el comportamiento del sitio, ya contaba con experiencia utilizando HTML, CSS y JavaScript. Lo nuevo que aprendí en este ejercicio fue cómo integrar esos elementos con Flask. Previamente utilizaba librerías como React, donde gestionaba estados para enviar y recibir datos desde una API, por lo que este enfoque fue una buena oportunidad para ampliar mis conocimientos.
Espero haber cumplido con todos los requerimientos. Dentro del proyecto incluí varios comentarios que reflejan mi estilo de trabajo; los utilizo como guía y notas personales para organizar y completar cada parte del desarrollo.
Asimismo, considero este proyecto como un ejercicio de investigación y desarrollo, por lo que incluí referencias que me permitieron comprender mejor ciertos conceptos y completar adecuadamente el trabajo.