Note
If you prefer not to install it locally, you can also access the live demo version
To set up the Knight Travails Application locally, follow these steps:
-
Clone the GitHub repository to your local machine:
git clone https://github.com/0xabdulkhalid/knight-travails.git
-
Navigate to the project's directory:
cd knight-travails
-
Install the project's dependencies using npm:
npm install
-
Build the project to bundle JavaScript, minify HTML and CSS, and move images:
npm run build
-
The build files can be found on
dist
(distribution) directory.
-
Graph Theory: The project's core algorithm is rooted in graph theory, leveraging graphs to represent and solve the knight's traversal problem.
-
BFS Algorithm: The BFS (Breadth-First Search) algorithm is utilized to find the optimal path for the knight's journey.
-
Adjacency List: An adjacency list data structure is employed to efficiently represent graph connections, facilitating the pathfinding process.
-
Manual Knight Placement: Users can manually position the knight on the chessboard, setting the starting point for the traversal.
-
Random Knight Placement: For added intrigue, the project provides the option to randomly place the knight on the chessboard.
-
Select End Point: Users can designate the destination point for the knight's journey, initiating a search for the best path.
-
Animated Travail: Experience the smooth and realistic knight movement as it traverses the chessboard in a true L-shape, making the knight's journey a visually captivating experience.
-
Clear Functionality: Users can effortlessly clear the chessboard, resetting the knight's position and path, enabling fresh exploration of scenarios.
-
Seamless Theme Switching: Enjoy a light or dark theme at your convenience, and your preferred theme is automatically saved in local storage for a consistent experience across visits.
-
ES6 Modules: JavaScript code is organized into ES6 modules for improved maintainability.
-
Webpack Bundling: Optimize resource loading by bundling JavaScript modules with Webpack.
-
Optimized for Any Screen: Effortlessly adapt to screens of all sizes, ensuring a flawless experience on both desktop and mobile devices.
-
Cross-Browser Compatibility: Ensure smooth performance across various web browsers.
-
Code Formatting Guidelines: The project adheres to coding standards and maintains code consistency by implementing ESLint along with Prettier for code formatting.
-
Overall Score 99.4%, Average of Mobile and Desktop
[ Mobile devices score is only shown below ]Check out Pagespeed Insights to get live score