https://github.com/apostolissiampanis/betproject
A Java console application that simulates football and basketball match outcomes, showcasing object-oriented design and the use of design patterns in Java.
https://github.com/apostolissiampanis/betproject
design-patterns java object-oriented-programming singleton stream-api
Last synced: 12 months ago
JSON representation
A Java console application that simulates football and basketball match outcomes, showcasing object-oriented design and the use of design patterns in Java.
- Host: GitHub
- URL: https://github.com/apostolissiampanis/betproject
- Owner: ApostolisSiampanis
- License: mit
- Created: 2024-11-11T23:04:09.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-18T21:56:04.000Z (about 1 year ago)
- Last Synced: 2025-03-18T22:32:01.676Z (about 1 year ago)
- Topics: design-patterns, java, object-oriented-programming, singleton, stream-api
- Language: Java
- Homepage:
- Size: 1.09 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bet Project
## [University of Piraeus](https://www.unipi.gr/en/home/) | [Department of Informatics](https://cs.unipi.gr/en/)
**MSc course**: Advanced Topics of Object - Oriented Programming (Java)
**Semester**: 1
**Project Completion Year**: 2025
## Description
BetProject is a Java-based console application designed to simulate the betting experience for football and basketball matches. The application enables users to place bets across various categories, offering a well-rounded sports betting platform. It includes a range of classes to manage diverse bet types, such as `Bet`, `BasketballBet`, and `FootballBet`, and employs a `GameEmulator` to generate random match results. Built with a strong focus on object-oriented programming principles, the project incorporates design patterns and leverages Java's Stream API for efficient data processing and calculations.
## Features
- Simulates betting on football and basketball matches
- Supports multiple betting categories
- Random outcome generation for matches using the GameEmulator
- Object-oriented design with well-defined classes and interfaces
- Uses design patterns to structure the application effectively
## Documentation
- Full project details can be found in the [Project Documentation](./docs/Documentation.pdf)
## License
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.