Volver a proyectos
Math Solver

Math Solver

Visita el proyecto

Descripción

El proyecto consiste en una aplicación web que permite a los usuarios resolver problemas matemáticos como la conversión de unidades, la resolución simbólica y la representación gráfica. La aplicación utiliza Python y Flask para crear un servidor web que envía solicitudes dinámicas al navegador del usuario. Las plantillas HTML se crean utilizando Jinja2 y TailwindCSS para crear una interfaz adaptable y fácil de usar. Más concretamente, el frontend utiliza algunos componentes de Flowbite (barra de navegación y formularios) para crear una interfaz visualmente atractiva. Además, se implementa un tema intercambiable utilizando TailwindCSS, las propiedades de modo oscuro y algo de JavaScript.

Para evitar una repetición excesiva de la sintaxis, se define un archivo templates/layout.html con el HTML base, que incluye la barra de navegación y el botón del tema oscuro/claro. Las distintas páginas definidas en la carpeta templates son la página de inicio, la página de conversión de unidades, la página de resolución simbólica, la página de representación gráfica y la página de disculpa. Todas las páginas utilizan la misma estructura y comparten la misma barra de navegación.

La lógica de negocio se implementa mediante clases de Python que gestionan la conversión de unidades y la resolución simbólica. Estos módulos de Python están en la carpeta app/models:

Varios formularios permiten al usuario introducir valores de entrada para distintos casos. Las solicitudes se gestionan mediante los endpoints definidos en main/routes.py, que devuelven una página de disculpa en caso de que algo salga mal. Para ello, se renderiza la plantilla HTML de disculpa. La plantilla recibe un mensaje y el código de error y renderiza una imagen de la API de HTTP CATS junto con el mensaje específico, si corresponde.

Ejemplos

Conversor de unidades

Solucionador simbólico

Representación gráfica