This was written as my final year project for Bsc Computing Science at the University of Strathclyde.
You can access these links: pathfinding, constraint satisfaction and adversarial search
Get rid of magic strings for localStorage access in the minimax and backtracking modules
Pull in default variables in tests (particularly pathfinding.component.spec.ts) to make less brittle
Potentially better encapsulation for data structures (this is debatable, makes code safer but more boilerplate and more code to maintain)
More intelligent responsive design for mobile