project I made as a fun way to refresh my knowledge after a personal time off I took from engineering ^^, following teaching two rounds at ITI. I chose to refactor and optimize a previous Sudoku game project I had developed as part of my software development diploma at Edges for Training. I used C++ OOP, Qt6 and CMake to develop the game, adding new features in the process.
This is a Graphical User Interface Application implementation using Qt of the popular Sudoku puzzle, built in C++ with CMake using a modular object-oriented approach. The project emphasizes clean design, separation of concerns, and practical use of the Standard Template Library (STL).

Sudoku_Game_V2/
├── Dockerfile # Docker configuration for building/running the project
├── sudoku.bash # Bash script to launch the game
├── LICENSE # License file
├── README.md # Project documentation (you are reading it!)
├── Images/
│ └── SudokuGame.png # Game image
├── Video/
├── GAME_GUI/ # Qt6-based graphical version (with animations & sound)
│ ├── CMakeLists.txt # CMake build configuration
│ ├── res.qrc # Qt resource file
│ ├── main.cpp # GUI entry point
│ ├── mainwindow.cpp
│ ├── mainwindow.h
│ ├── mainwindow.ui # Qt Designer form
│ ├── build/ # Generated build directory (CMake)
│ ├── game/
│ │ ├── Sudoku # Compiled GUI executable
│ │ └── sudoku.png
│ ├── INCLUDE/ # Header files
│ │ ├── JsonFileManager.hpp
│ │ ├── SudokuBoard.hpp
│ │ ├── SudokuGenerator.hpp
│ │ └── SudokuSolver.hpp
│ ├── lib/
│ │ └── libSudoku_Game_V2_LIB.a # Static library with core logic
│ ├── Puzzle/ # JSON puzzle files
│ │ ├── Default_Puzzle.json
│ │ ├── test.json
│ │ ├── test2.json
│ │ ├── test3.json
│ │ ├── test5.json
│ │ └── test6.json
│ ├── res/
│ │ ├── gif/
│ │ │ └── yes.gif
│ │ ├── icons/ # UI icons
│ │ │ ├── github.png
│ │ │ ├── linkedin.png
│ │ │ ├── load.png
│ │ │ │ ├── mute.png
│ │ │ ├── new.png
│ │ │ ├── save.png
│ │ │ ├── solve.png
│ │ │ ├── sudoku.png
│ │ │ └── volume.png
│ │ ├── music/
│ │ │ └── music.mp3
│ │ └── qml/
│ │ └── sudokuBoard.qml # QML component for animated board
│
└── GAME_UI/ # Lightweight terminal/console version
├── CMakeLists.txt # CMake build configuration
├── Build/ # Generated build directory (CMake)
├── game/
│ └── sudoku # Compiled console executable
├── INCLUDE/
│ ├── JsonFileManager.hpp
│ ├── SudokuBoard.hpp
│ ├── SudokuGame.hpp
│ ├── SudokuGenerator.hpp
│ └── SudokuSolver.hpp
├── lib/
├── Puzzle/
│ ├── Default_Puzzle.json
│ └── test.json
└── SOURCE/
├── main.cpp
├── JsonFileManager.cpp
├── SudokuBoard.cpp
├── SudokuGame.cpp
├── SudokuGenerator.cpp
└── SudokuSolver.cpp
