This project visualizes different algorithms adapted for creating mazes
and solving them with various path finding algorithms.
Tip
Check out the app at amazeing.app/.
- Implements 21+ algorithms for maze creation and traversal.
- Extensive control over algorithm execution (autoplay, iteration history, etc.).
- Paintable grid graph for custom maze creation.
- Easy import/export feature.
- Statistics tracking during algorithm execution.
- "Learn More" page with general info and additional resources. (soon™)
- Available as a Progressive Web App (PWA).
Contributions are welcome! ❤️
If you like what you see and just want to show some appreciation, you can do so on ko-fi or just share this project with people you know.
There are quite a few TODOs throughout this project, but I haven't created specific issues for them yet. Some of these tasks might be a good start for a first pull request, while others might be based on old information or poorly written notes.
Either way please create an issue first to avoid unnecessary work and to check if the feature/bug in question is something that you can work on. PRs without any kind of discussion beforehand have a high chance of not being accepted. (Sorry)
When bugs related to the algorithms themselves are reported, they will always be prioritized over new features."
- Please respect the Angular style guide for contributions.
- This project also adheres to conventional commits.
- Code comments only when necessary but always for functions.
Note: The project is based on my other project which is quite boring in comparison to be honest. It was originally a Vue.js project that was then converted to Angular. Have a look here.
Run ng serve
for development. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
This project uses Playwright for e2e tests and ensures that
the most common use-cases are covered and don't produce errors while executing the algorithms.
More tests could be introduced but there is no way to automatically test for the correctness
of the algorithms themselves.
Run locally: npm run test:pw
This project is licensed under the MIT License.