Inspiration

Our journey began with the discovery of SAT solvers and their incredible utility in solving complex problems. This inspired us to take on the challenge of building a project that leveraged SAT solving algorithms for pathfinding. It was a daunting task, as we had no prior experience with APIs or pathfinding algorithms. However, the potential to create something functional and impactful motivated us to push forward.

Our primary goal was to implement a pathfinding SAT solver, creating new hiking trails

Learning

This project was a steep learning curve for us. We had to dive into unfamiliar territories, such as working with the Python Flask API and handling the dynamic aspects of React. One of the most surprising challenges was embedding HTML into React, which turned out to be more complex than we initially anticipated.

We learned several new technologies and concepts, including:

  • Flask for backend development

  • Google Maps API for mapping and path visualization

  • Pathfinding algorithms and their integration with SAT solvers

One of the most rewarding moments was when we finally managed to display the path on the website after selecting coordinates. Felt amazing.

Building the Project

Planning and Design

We emphasized integration and API connections from the very beginning. Our goal was to ensure there were no inconsistencies before diving deep into any specific feature. We used the React framework for the frontend and focused on creating a seamless connection between the frontend and backend.

Tools and Technologies

To bring our project to life, we used:

  • SQLAlchemy for the database

  • A Python backend with a Flask API

  • Google Maps API to generate an HTML file with the path, which was then rendered by the React frontend

Key Milestones

API Connections: Getting the initial GET/POST connections working after a few hours was our first major milestone.

Frontend Flipbook: Implementing a functional flipbook as a menu took longer than expected, but it was a satisfying achievement.

Google Maps Integration: Displaying the Google Maps embed on the screen was the final big milestone we reached.

Teamwork

As a team of four, we divided our tasks effectively:

  • 1 person focused on frontend development

  • 1 person handled API integration

  • 2 people researched and built the necessary Google Maps tools

Challenges

One of the biggest challenges we faced was displaying the Google Maps embed on the screen. It required a lot of trial and error, and we often felt stuck. However, with the help of our mentors, we were able to overcome this hurdle.

Another frustrating moment was when we couldn’t add the path onto the map. However, the sight of the finish line kept us motivated, and we pushed through to achieve our goal.

Reflection

What We’re Proud Of

  • API Connections: We’re proud of how seamlessly we integrated the frontend and backend.

  • Flipbook Menu: The flipbook turned out beautifully and added a unique touch to our project.

  • SAT Solving Algorithm: Implementing the SAT solver for pathfinding was a significant achievement.

What We’d Do Differently

Many tasks weren’t inherently difficult, but finding the right tools and resources was a challenge. If we were to start over, we would spend more time planning and researching tools upfront.

Future Plans

While we’ve achieved a lot, there’s still room for improvement. We plan to continue working on this project by:

  • Adding the weather function and chatbot to provide personalized recommendations

  • Improving the user interface and overall user experience

  • Exploring additional features, such as real-time traffic updates

What a struggle, but it was fun :)

Share this project:

Updates