An open API service indexing awesome lists of open source software.

https://github.com/mrarvind90/fcc-sudoku-solver

A full-stack web app for checking, validating and solving a Sudoku puzzle. This application validates the input puzzle string but also assesses the correctness of number placements. In addition, it also provides solutions to valid puzzles.
https://github.com/mrarvind90/fcc-sudoku-solver

chai chai-http css3 eslint eslint-config-prettier express-validator expressjs freecodecamp freecodecamp-challenge freecodecamp-project html5 mocha nodejs prettier qa

Last synced: 3 months ago
JSON representation

A full-stack web app for checking, validating and solving a Sudoku puzzle. This application validates the input puzzle string but also assesses the correctness of number placements. In addition, it also provides solutions to valid puzzles.

Awesome Lists containing this project

README

        

[![freeCodeCamp Social Banner](https://s3.amazonaws.com/freecodecamp/wide-social-banner.png)](https://www.freecodecamp.org/)


HTML5
CSS3
Javascript
NodeJS
NPM
ExpressJS
Mocha
Chai
ESLint
Prettier

# Sudoku Solver
A full-stack web app for checking, validating and solving a Sudoku puzzle. This application validates the input puzzle string but also assesses the correctness of number placements. In addition, it also provides solutions to valid puzzles.

## Technologies Used
- **Client Side:**
- HTML: Provides the structure of the web pages.
- CSS: Adds styling and responsive design to the user interface.
- Vanilla JavaScript: Implements the client-side functionality for unit conversion.

- **Server Side:**
- Node.js: Provides the runtime environment for the server.
- Express.js: A web application framework for handling routes and requests on the server.

- **Testing:**
- Mocha: A testing framework for writing unit tests.
- Chai: An assertion library used in conjunction with Mocha for making test assertions.

## Features
- Checks if a given number and placement is valid based on the given board
- Solves the puzzle given a valid puzzle string

## Running the application
To run the express application, do follow the following steps

1. Clone the repo:
```git
git clone [email protected]:mrarvind90/fcc-sudoku-solver.git
```
2. Navigate to the repository:
```shell
cd
```
Change to the name of the cloned directory.
3. Install Dependencies:
```shell
npm install
```
This command will install all the necessary dependencies for the application.
4. Configure Environment Variables: Rename the .env.sample file in your project directory to .env and update it with the
relevant credentials:
```shell
cp .env.example .env
```
5. Choose Your Run Mode:

- Development Mode (with automatic code reload):
To run the application in watch mode, enabling seamless source
code changes without manual server restarts, use the following command:
```shell
npm run dev
```
- Standard Server Mode:
If you prefer to simply run the server without automatic code reloading, you can use the
following command:
```shell
npm run start
```
6. Running the tests
- You can run unit tests for the application using Mocha and Chai. To run the tests, use the following command:
```bash
npm run test
```

## Future Improvements
While developing this project, there are several areas I plan to focus on for enhancements and refinements
which can be found on [GitHub](https://github.com/mrarvind90/fcc-sudoku-solver/issues).