Skip to content

Latest commit

 

History

History
99 lines (79 loc) · 4.48 KB

README.md

File metadata and controls

99 lines (79 loc) · 4.48 KB

Pathfinder

Description

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 🚀

Table of Contents

Architecture

Pathfinder fully adopts the Clean Architecture pattern, integrating both the Bloc and Repository patterns.
Clean Architecture is structured into the following layers:

  1. Data Layer
  2. Domain Layer (Business Logic)
  3. Presentation Layer (UI)

Architecture for API calls: Api

Features

  • 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

Supported platforms

Pathfinder is a cross-platform mobile application that supports both Android and iOS platforms.

Installation

To run the Pathfinder app locally, follow these steps:

  1. Clone this repository to your local machine.
  2. Ensure you have Flutter and Dart installed on your system.
  3. Navigate to the project directory in your terminal.
  4. Run the command flutter pub get to install the required dependencies.
  5. Connect a device or start an emulator.
  6. Run the command flutter run to launch the app.

Usage

  1. Launch the Pathfinder app
  2. Enter a valid API endpoint to fetch maze challenges. If the API is invalid, you won’t be able to proceed
  3. The app will retrieve the maze problems and solve them using the A* algorithm
  4. Tap the "Send results to server" button to verify the correctness of the solutions
  5. The app will display the path for each solved maze
  6. Select the maze whose solution you want to view
  7. The app will display the solved maze in detail, including the path, start, and end points

Screenshots and Demo

Screenshots

Screenshot_1 Screenshot_2 Screenshot_3 Screenshot_4

Demo

1.mp4

Changelog

[1.0] - 06.10.2024

Added

  • Initial release. 🔮

Used Packages

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

License

Apache License Version 2.0