{"id":21721490,"url":"https://github.com/vansh-codes/sudoku-visualizer","last_synced_at":"2025-10-07T11:30:40.707Z","repository":{"id":247908226,"uuid":"827192952","full_name":"vansh-codes/Sudoku-Visualizer","owner":"vansh-codes","description":"A web-based app to visualize Sudoku solving using backtracking. Features include random puzzle generation, variable solving speeds, and celebratory visual effects for completed puzzles. Enjoy solving!","archived":false,"fork":false,"pushed_at":"2024-08-30T09:28:23.000Z","size":304,"stargazers_count":26,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T02:03:08.335Z","etag":null,"topics":["sudoku-generator","sudoku-solver","sudoku-visualizer","vanilla-js"],"latest_commit_sha":null,"homepage":"https://sudoku-visualizer.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vansh-codes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-11T07:18:27.000Z","updated_at":"2024-11-06T21:58:20.000Z","dependencies_parsed_at":"2024-07-11T08:58:48.697Z","dependency_job_id":"9f81b1de-1de0-4f15-bf1a-cacf53249873","html_url":"https://github.com/vansh-codes/Sudoku-Visualizer","commit_stats":null,"previous_names":["vansh-codes/sudoku-visualizer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vansh-codes%2FSudoku-Visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vansh-codes%2FSudoku-Visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vansh-codes%2FSudoku-Visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vansh-codes%2FSudoku-Visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vansh-codes","download_url":"https://codeload.github.com/vansh-codes/Sudoku-Visualizer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235621552,"owners_count":19019519,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["sudoku-generator","sudoku-solver","sudoku-visualizer","vanilla-js"],"created_at":"2024-11-26T02:17:11.266Z","updated_at":"2025-10-07T11:30:35.278Z","avatar_url":"https://github.com/vansh-codes.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eSudoku Visualizer\u003c/h1\u003e\n\n![Sudoku-Visualizer](https://socialify.git.ci/vansh-codes/Sudoku-Visualizer/image?name=1\u0026owner=1\u0026theme=Dark)\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"https://forthebadge.com/images/badges/built-with-love.svg\" height=40px/\u003e \u003cimg src=\"https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Fvansh-codes%2FSudoku-Visualizer\u0026label=visitors\u0026countColor=%2337d67a\u0026style=for-the-badge\u0026labelStyle=upper\" height=40px /\u003e \u003cimg src=\"https://img.shields.io/github/last-commit/vansh-codes/Sudoku-Visualizer?style=for-the-badge\" height=40px /\u003e\n\u003cimg src=\"https://img.shields.io/github/repo-size/vansh-codes/Sudoku-Visualizer?style=for-the-badge\" height=40px\u003e \u003cbr/\u003e \u003cbr/\u003e\n\u003cimg src=\"https://img.shields.io/badge/vercel-%23000000.svg?style=for-the-badge\u0026logo=vercel\u0026logoColor=white\" height=30px /\u003e \u003cimg src=\"https://vercelbadge.vercel.app/api/vansh-codes/Sudoku-Visualizer?style=for-the-badge\" height=30px /\u003e\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ch2\u003e🎉 Welcome to the Sudoku Solver Visualizer! 🎉 This web-based app lets you visualize the solving process using backtracking. Features include 🔀 random puzzle generation, ⏩ variable solving speeds, and ✨ visual effects to celebrate a solved puzzle. Enjoy a fun and interactive Sudoku-solving experience!\u003c/h2\u003e\n\u003c/div\u003e\n\n## 📍Table of Contents\n1. [Features](#Features)\n2. [Technology Stack](#Technology-Stack)\n3. [Getting Started](#Getting-Started)\n4. [Web Application](#Web-Application)\n5. [Usage](#Usage)\n6. [Code Overview](#Code-Overview)\n7. [Contributing](#Contributing)\n8. [License](#License)\n9. [Contact](#Contact)\n10. [Links](#Links)\n\n## ✨Features\n\n- **🔢 Live Input Feedback**: Receive real-time feedback as you input numbers into the Sudoku grid.\n- **🎨 Interactive UI**: Engage with an intuitive and visually appealing user interface designed for ease of use.\n- **👌 Good UX**: Enjoy a seamless user experience with smooth interactions and clear instructions.\n- **⚡ Fast Backtracking Algorithm**: Solve Sudoku puzzles quickly and efficiently using an optimized backtracking algorithm.\n- **🌐 Cross-Platform**: Access the Sudoku visualizer on both web and mobile platforms for convenience.\n- **🛠️ Customizable Settings**: Tailor the visualization settings to your preferences, including solving speed and difficulty level.\n- **📚 Learn Mode**: Understand the backtracking process step-by-step with an educational mode that explains each move when speed set to Xtra slow.\n\n## 💻Technology Stack\n\n![JAVASCRIPT](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black)\n![CSS5](https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge\u0026logo=css3\u0026logoColor=white)\n![HTML5](https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge\u0026logo=html5\u0026logoColor=white)\n\n## Getting Started\n\n### Prerequisites\n\n- Web browser (Google Chrome, Firefox, Safari, etc.)\n\n### Getting Started\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/vansh-codes/Sudoku-Visualizer.git\n   ```\n\n2. Navigate to the project directory:\n   ```bash\n   cd sudoku-visualizer\n   ```\n\n3. Open `index.html` in your web browser to start using the application.\n\n## 🌐Web Application\n1. Access here: [Sudoku-Visualizer](https://sudoku-visualizer.vercel.app/)\n\n## Usage\n\n1. **Clear Board**: Click the \"Clear\" button to clear the Sudoku board.\n2. **Generate Board**: Click the \"Generate Board\" button to generate a new random Sudoku puzzle.\n3. **Solve**: Click the \"Solve\" button to start solving the puzzle using the selected algorithm and speed.\n4. **Select Speed**: Choose the speed of the solving animation from the dropdown menu (Fast, Medium, Slow, Extra Slow).\n5. **Select Algorithm**: Choose the algorithm for solving the puzzle from the dropdown menu (currently supports Backtracking).\n6. **Enjoy the Visual Effects**: Upon solving the puzzle, enjoy the fireworks effect celebrating your success.\n\n## Code Overview\n\n### HTML Elements\n\n- `subMenu`: Refers to the submenu element inside the navigation bar.\n- `speedButton`: Refers to the button for selecting speed inside the navigation bar.\n- `speedDropDown`: Holds the current selected speed.\n- `speedOptions`: List of all available speed options.\n- `confetti`: Configures the confetti for celebrating the solved puzzle.\n- `algorithmsDropDown`: Holds the current selected algorithm.\n- `algorithmsOptions`: List of all available algorithm options.\n\n### Speed Constants\n\nDefines the different speeds for the solving animation:\n- `FAST_SPEED`: 0.4 seconds\n- `MEDIUM_SPEED`: 10 seconds\n- `SLOW_SPEED`: 50 seconds\n\n### Event Listeners\n\n- `clear.addEventListener('click', clickedClear)`: Clears the board.\n- `randomlyFill.addEventListener('click', clickedRandomlyFill)`: Fills the board with a random puzzle.\n- `solve.addEventListener('click', clickedSolve)`: Starts solving the puzzle.\n\n### Main Functions\n\n- `clickedClear(e)`: Clears the board and resets the state.\n- `clickedRandomlyFill(e)`: Clears the board and fills it with a random puzzle.\n- `clickedSolve(e)`: Starts the solving process.\n- `solveByBacktracking(algo)`: Solves the puzzle using the Backtracking algorithm.\n- `backtracking(matrix, algo)`: Initializes and runs the backtracking algorithm.\n- `backtrackingHelper(matrix, isFixed, i, j, data, algo)`: Recursively solves the puzzle using backtracking.\n\n### Utility Functions\n\n- `getFixedEntries(matrix)`: Returns an array indicating which entries are fixed.\n- `canBeCorrect(matrix, i, j)`: Checks if the current state of the board is valid.\n- `allBoardNonZero(matrix)`: Checks if all cells in the board are filled.\n- `readValue()`: Reads the current values from the Sudoku board.\n\n## Contributing\n\nContributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n\n## 📞Contact\n\nFor any questions or feedback, please contact [vansh-codes](https://github.com/vansh-codes).\n\n### - Created by **Vansh Chaurasiya** \nShow some ❤️ by starring this repository !\n\n\n\n## 🔗Links\n[![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/vanshchaurasiya24)\n[![twitter](https://img.shields.io/badge/twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white)](https://www.twitter.com/vanshchaurasiy4) \u003cp align=\"right\"\u003e\u003ca href=\"#top\"\u003eBACK TO TOP\u003c/a\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvansh-codes%2Fsudoku-visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvansh-codes%2Fsudoku-visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvansh-codes%2Fsudoku-visualizer/lists"}