Inspiration
This shortest path application is a convenient visualization tool for backpackers or common travelers to search the airport information around the world. They can obtain airport details or compare the different path between stops by visualization. These functions are simple but untapped. The project can be used into different B2C platforms to help users save time on buying tickets, especially in this pandemic period.
What it does
- Data Overview: users can explore all the data by graphistry visualization.
- Centrality: users can obtain the centrality including Degree, Closeness, Betweenness and PageRank based on country and city name. Users can also specify the max hops and check the nearby airport centrality by city name.
- Shortest Path: users can find shortest path based on unweighted and weighted graph data. User can click or input start position, terminal position and search max hops to see if there are shortest paths between the stops. Visualization and click event are supported.
How we built it
Database: TigerGraph Frameworks: Streamlit, React Data visualization: Graphisty, folium, pydeck, altair, google map api
Challenges we ran into
This is the first time for us to do project with python. So it is really challengeable at the beginning such as connecting between different servers. But fortunately, we overcome them. For the click event , we met the challenge that the data is too large to be return from HTML to streamlit.
Accomplishments that we're proud of
Click event: we use React and HTML based on streamlit to implement an interactive user interface. User can select start position and terminal position by clicking the points on the map rather than writing into the input boxes.
What we learned
- Interaction operation among TigerGraph, Streamlit, Visulizations and so on.
- Get better grasp of GSQL programming.
- Centrality Algorithms: Degree, Closeness, Harmonic, Betweenness, Eigenvector, PageRank, Percolation.
- Shortest path Algorithms: Dijkstra, Bi-Directional Shortest Path, Multiple Hop pattern Shortest Path…
What's next for graph shortest path & centrality
- Speed up the project by optimizing shortest path algorithms and adding data cache.
- Optimize user interaction by changing React to plotly-dash. In our project, two servers are supposed to be opened together due to React, while plotly-dash only need to open one server.
- Support more algorithm visualizations by implementing more centrality algorithm to the application visualization.
Built With
- graphistry
- python
- react
- streamlit
- tigergraph







Log in or sign up for Devpost to join the conversation.