This project is a minimalist and educational implementation of a complete Sudoku application. It focuses on providing a clean and intuitive user experience while integrating a simple backend powered by Rust.
The application allows users to generate Sudoku puzzles with a configurable number of empty cells (between 32 and 64), offering varying difficulty levels.
The project has three main folders:
- Backend – Implemented in Rust
- Frontend – Built with Next.js
The backend implemented in rust exposes two endpoints:
GET /- Health check endpoint.POST /sudoku- Generates a Sudoku puzzle based on the number of empty cells. It expects the following JSON body:and returns:{ "empty_cells": number }
{ "puzzle": number[][], "solution": number[][] }
The frontend built with Next.js consists of two simple ui, one for setting the difficulty level and one for the game itself
Before you begin, make sure you have installed:
- Rust (https://www.rust-lang.org/)
- Node.js (>= 18) and yarn
- Git
git clone https://github.com/joaopedrocyrino/sudoku.git
cd sudokuTo run backend:
cd backend
cargo build
cargo runTo run web application:
cd frontend
yarn
yarn dev