Sudoku Challenge: One Game in Different Languages
I'm excited to present Sudoku Challenge, a new educational project I just launched on GitHub. The goal is to implement the same Sudoku game in different languages and frameworks to illustrate various development approaches and the specificities of each technology.
🎮 The Project
The project involves developing a complete Sudoku game with:
- Grid generation
- Rule validation
- Intuitive user interface
- Verification system
- Difficulty levels
- Timer
💻 Implementations
C++/Qt (Available)
The first version, developed in C++ with Qt, is already available. It showcases:
- Object-oriented programming in C++
- Native GUI with Qt
- Event handling
- Performance optimization
Symfony 7 (In Development)
The Symfony version is under development. It will highlight:
- MVC architecture
- User session management
- Forms and validation
- Twig rendering
- Testing with PHPUnit
Next.js 15 (Planned)
The Next.js version will demonstrate:
- Server-side rendering (SSR)
- Modern React components
- TypeScript typing
- Client-side state management
- Testing
🔍 Technical Points of Interest
C++/Qt Version
cpp
This implementation emphasizes:
- Raw C++ performance
- Native user interface
- Efficient memory management
- Qt signals and slots
🎯 Educational Objectives
This project allows you to:
- Compare programming paradigms
- Explore architectural differences
- Analyze performance
- Understand technology-specific features
🤝 Contributing
The project is open source under MIT license. You can:
- ⭐ Star the repository
- 🐛 Report bugs
- 💡 Suggest improvements
- 🔧 Contribute to the code
📚 Documentation
Each implementation has its own detailed documentation in its respective folder:
- C++/Qt Documentation
- Symfony Documentation (coming soon)
- Next.js Documentation (coming soon)
🔜 Next Steps
- Finalizing the Symfony version
- Developing the Next.js version
- Adding advanced features:
- Multiplayer mode
- Game saving
- Game statistics
- Rankings
Stay tuned for updates and feel free to contribute to the project! 🚀
Want to discuss the project or contribute? Contact me on LinkedIn or via GitHub.