An open API service indexing awesome lists of open source software.

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.

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.