The beer game is an online game intended for students to better understand how supply chain works in a real world situation, applying the theory learned in class and practicing decision making. Therefore it is a functional type of game. This project simulates the way beer is being ordered and delivered from production and factory, going to distributor, then wholesaler and then to retailer and consumer. Each of these stages can be played by the students who, order enough beer stock in the position they hold, taking into consideration shipment times, delays, backorders, inventory such that, every partner in this chain doesn’t suffer any losses.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
What things you need to install the software and how to install them
- Qt5 SDK
brew install qt5
- GTest
Installion on Linux
sudo apt-get install libgtest-dev
Installation on Mac
brew install libgtest-dev
Clone the repo
git clone https://github.com/iuliacornea99/se-05-team-22
cd build
cmake .. -DCMAKE_PREFIX_PATH=$(brew --prefix qt5)
make
cd src
./beergame
cd build
cmake .. -DCMAKE_PREFIX_PATH=$(brew --prefix qt5)
make
cd tests
./beergame-test
You have to set your Qt location in CMakeLists if it doesn't work via set(CMAKE_PREFIX_PATH PATH_TO_QT)
The documentation is automatically generated when we run make
after cmake ..
.
and then the documentation can be found within the directory doc
that is inside build.
Currently a login ui has been implement where :
For Instructor:
User Email : instructor
Password : 123
Instructor : ✅ (True)
For Player:
User Email : player
Password : 123
Instructor : (Not ticked : False)
(Currently we dont have an authentication mechanism.)
If you want to run the server and the client individually then after you build the project:
To run server :
cd build/src/server
./beergame-server
To run client :
cd build/src/client
./beergame-client
-
Implemented Network based game with instructor creating a server where players join as client.
-
Implemented Graphing function for Network based client.
-
Added an window icon for the game.
-
Fix the numerous compilation errors from the previous codebase.
-
Added the statistics/graphs functionalities for player.
-
Added test cases in
tests.cpp
for all functionalities. -
Added an Extensive Demo It in youtube for User convenience to the software.
-
Refactored the Game logic for all classes.
-
Inhance the UI and add the window icon.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- Software engineering Teaching Assistants