/EA_Grafty

EA Grafty es una aplicación web interactiva diseñada para visualizar y entender los algoritmos de grafos más comunes de una manera teórica e interactiva.

Primary LanguageCSS

EA Grafty - Todo es un grafo

Logo de EA Grafty

Aprende los distintos algoritmos interactuando con grafos

GitHub Slrosales GitHub Rubens1414 GitHub JaymedDLC GitHub Almor21

Descripción y Justificación de la Herramienta

EA Grafty es una aplicación web interactiva diseñada para proporcionar una comprensión teórica e interactiva de los algoritmos de grafos más comunes. La herramienta ofrece explicaciones detalladas sobre diferentes algoritmos de grafos y en qué áreas son comúnmente utilizados. Además, proporciona visualizaciones interactivas del algoritmo de Prim, herramientas para entender el cálculo de la ruta más corta con el algoritmo de Dijkstra, y visualizaciones de matrices de recorrido y costo con el algoritmo de Floyd-Warshall. También cuenta con una zona interactiva que permite a los usuarios interactuar y modificar grafos en tiempo real.

Esta herramienta es invaluable para estudiantes y profesionales que deseen comprender mejor los algoritmos de grafos y su aplicación en diversos campos como la informática, las redes de comunicación, la logística y más.

Características

  • Teoría: Explicaciones detalladas sobre diferentes algoritmos de grafos y en que áreas son bastantes vistos.
  • Árbol de Expansión Mínima: Visualización del algoritmo de Prim.
  • Algoritmo de Dijkstra: Herramientas para entender el cálculo de la ruta más corta.
  • Algoritmo de Floyd-Warshall: Incluye visualización de matrices de recorrido y costo.
  • Zona Interactiva: Permite a los usuarios interactuar y modificar grafos en tiempo real.

Tecnologías Utilizadas

  • Frontend: HTML, CSS, JavaScript
  • Backend: Node.js
  • Contenedorización: Docker

Requisitos

  • Docker
  • Node.js (para ejecución sin Docker)

Instalación y Ejecución

Clonar el repositorio

git clone https://github.com/Slrosales/EA_Grafty.git
cd EA_Grafty

Ejecución con Docker

Asegúrate de tener Docker instalado y ejecutando en tu sistema.

  • Este comando es para construir la imagen con Docker Compose e iniciar el http://localhost:3000
docker-compose up --build
  • Si la imagen ya esta construida solo ejecuta:
docker-compose up
  • Si deseas ejecutar los contenedores en segundo plano:
docker-compose up -d

Accede a la aplicación a través de http://localhost:3000 en tu navegador.

Ejecución sin Docker

Ve a la carpeta app y ejecuta:

npm install
npm start

Accede a la aplicación a través de http://localhost:3000 en tu navegador.

  • Reposicionamiento de un nodo

    • Permitir al usuario cambiar la posición de cualquier nodo del grafo dentro del lienzo, manteniendo todas las aristas conectadas.
  • Lienzo personalizable

    • Permitir al usuario subir una imagen (o seleccionar imágenes disponibles en la página) para cambiar el fondo del lienzo y ejemplificar así algunos usos de los grafos, como en mapas para rutas aéreas, redes de comunicación, entre otros.

Team

  • Laura Gómez (Líder)
  • Rubens Apresa
  • Jaymed Linero
  • Wilson Estrada

:D