Skip to content

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.

License

Notifications You must be signed in to change notification settings

mrarvind90/fcc-sudoku-solver

Repository files navigation

freeCodeCamp Social Banner

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 clone git@github.com:mrarvind90/fcc-sudoku-solver.git
    
  2. Navigate to the repository:
    cd <repository_directory>
    Change <repository_directory> to the name of the cloned directory.
  3. Install Dependencies:
    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:
     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:
     npm run dev
    • Standard Server Mode:
      If you prefer to simply run the server without automatic code reloading, you can use the following command:
     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:
    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.

About

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.

Topics

Resources

License

Stars

Watchers

Forks