Overview
A web-based implementation of the popular board game Santorini, featuring a modern architecture, robust testing, and automated deployment pipeline. The project demonstrates software engineering best practices and scalable design patterns.
Key Features
- Modular and extensible game design using object-oriented principles
- Comprehensive testing suite with 95% coverage
- Automated CI/CD pipeline
- Real-time multiplayer functionality
- Responsive web interface
Technologies Used
JavaMavenJUnitJacocoGitHub ActionsUML
Architecture
The project follows a clean architecture approach with:
- Domain-driven design principles
- Clear separation of concerns
- Low coupling and high cohesion
- Extensive use of design patterns
Development Process
- Agile development methodology
- Test-driven development (TDD)
- Continuous integration and deployment
- Regular code reviews and pair programming