A real-time visualization tool that demonstrates multiple Sudoku solving algorithms working simultaneously. Watch as different algorithms solve the same puzzle step-by-step with live progress tracking, timing, and performance comparisons.
- Real-time Algorithm Visualization - Watch 6 different algorithms solve puzzles simultaneously
- Step-by-step Progress - See exactly how each algorithm works through the puzzle
- Performance Tracking - Compare completion times and rankings
- Interactive Controls - Play, pause, reset, and adjust speed for all algorithms
- Beautiful UI - Modern, responsive design with smooth animations
- Puzzle Input - Manual entry or file upload support
- Backtracking - Classic recursive approach with trial-and-error
- Constraint Propagation - Rule-based solving with single candidate filling
- Dancing Links - Donald Knuth's Algorithm X implementation
- Possibility Sort - Heuristic-based cell selection
- Heuristic Backtracking - Smart backtracking with intelligent cell selection
- Brute Force - Exhaustive search approach
- Frontend: Angular 17, TypeScript, Tailwind CSS
- Backend: .NET 8, C#, ASP.NET Core
- Containerization: Docker, Docker Compose
- Development: Hot reloading, real-time updates
- Docker Desktop
- Git
-
Clone the repository
git clone <repository-url> cd SudokuSolver
-
Navigate to Docker directory
cd docker -
Build and run
.\build-and-run.ps1 -Build -Run -
Access the application
- Frontend: http://localhost:4200
- API: http://localhost:5001
- API Documentation: http://localhost:5001/swagger
- Enter a puzzle - Use the Sudoku board to input your puzzle
- Load from file - Upload a puzzle file (CSV format)
- Select algorithm - Choose a single algorithm or compare all
- Watch visualization - See real-time algorithm solving with step-by-step progress
- Compare results - View completion times and rankings
- Play All - Start all algorithms simultaneously
- Pause All - Stop all animations
- Reset All - Return all algorithms to start
- Speed Control - Adjust animation speed (0.5x to 5x)
- Individual Controls - Control each algorithm separately
SudokuSolver/
├── docker/ # Docker configuration
│ ├── build-and-run.ps1 # PowerShell build script
│ ├── docker-compose.yml # Service definitions
│ └── Dockerfile.* # Container configurations
├── sudoku-ui/ # Angular frontend
│ ├── src/app/
│ │ ├── components/ # UI components
│ │ ├── services/ # Data services
│ │ └── app.module.ts # Main module
│ └── package.json
└── SudokuSolver.API/ # .NET backend
├── Controllers/ # API endpoints
├── Services/ # Business logic
└── Program.cs # Application entry
cd sudoku-ui
npm install
npm startcd SudokuSolver.API
dotnet runcd docker
.\build-and-run.ps1 -Build -RunMIT License - see LICENSE file for details
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
For issues and questions, please open an issue on the repository.
Built with ❤️ using Angular, .NET, and Docker