Pathfinder is an application designed to help users solve maze challenges using the A-star algorithm. Developed with Flutter and Dart, it offers an intuitive interface for visualizing mazes.
Built with modern software development principles, Pathfinder follows a Clean architecture approach. It incorporates the Repository pattern and leverages the Bloc state management library 🚀
- Architecture
- Features
- Supported platforms
- Installation
- Usage
- Screenshots and Demo
- Changelog
- Used Packages
- License
Pathfinder fully adopts the Clean Architecture pattern, integrating both the Bloc and Repository patterns.
Clean Architecture is structured into the following layers:
- Data Layer
- Domain Layer (Business Logic)
- Presentation Layer (UI)
- Enter an API endpoint to fetch maze challenges
- Solve mazes using the A-star algorithm for optimal pathfinding
- Verify the correctness of solutions by making requests to an API
- View correct path if the maze is solved correctly
- Select any maze to see its detailed solution, including start and end points
- Intuitive and user-friendly interface for easy navigation and interaction
Pathfinder is a cross-platform mobile application that supports both Android and iOS platforms.
To run the Pathfinder app locally, follow these steps:
- Clone this repository to your local machine.
- Ensure you have Flutter and Dart installed on your system.
- Navigate to the project directory in your terminal.
- Run the command
flutter pub get
to install the required dependencies. - Connect a device or start an emulator.
- Run the command
flutter run
to launch the app.
- Launch the Pathfinder app
- Enter a valid API endpoint to fetch maze challenges. If the API is invalid, you won’t be able to proceed
- The app will retrieve the maze problems and solve them using the A* algorithm
- Tap the "Send results to server" button to verify the correctness of the solutions
- The app will display the path for each solved maze
- Select the maze whose solution you want to view
- The app will display the solved maze in detail, including the path, start, and end points
1.mp4
- Initial release. 🔮
The Pathfinder app utilizes the following packages:
Name | Version | Link on pub.dev |
---|---|---|
flutter_bloc | 8.1.6 | Link |
go_router | 14.3.0 | Link |
provider | 6.1.2 | Link |
Apache License Version 2.0