Este proyecto es una aplicación web de Sudoku desarrollada con Spring Boot y Thymeleaf.
Incluye:
- Controladores MVC
- Servicio de Sudoku con backtracking
- Exposición vía RMI
- Vistas dinámicas con HTML + CSS
- Configuración con
application.yml
El siguiente diagrama muestra la arquitectura de la aplicación, incluyendo frontend, backend, recursos estáticos y cliente externo vía RMI:
Este diagrama representa las clases Java principales, sus métodos y relaciones:
classDiagram
class MenuController {
+showMenu() String
}
class SudokuController {
+getBoard(size : int) ModelAndView
+solveBoard(size : int) ModelAndView
}
class ISudokuService {
<<interface>>
+generateEmptyBoard(size : int) int[][]
+generateSolvedBoard(size : int) int[][]
+getSegmentDimensions(size : int) int[]
+isValidMove(board : int[][], row : int, col : int, num : int) boolean
}
class SudokuService {
+generateEmptyBoard(size : int) int[][]
+generateSolvedBoard(size : int) int[][]
+getSegmentDimensions(size : int) int[]
+isValidMove(board : int[][], row : int, col : int, num : int) boolean
-backtrackingAlgorithm()
}
class RmiServerConfig {
-port : int = 1099
+rmiServiceExporter(service : ISudokuService) RmiServiceExporter
}
%% Relations
MenuController --> ISudokuService : uses
SudokuController --> ISudokuService : uses
SudokuService ..|> ISudokuService : implements
RmiServerConfig --> SudokuService : exposes