This project is a simple bank system simulation written in C++. It includes classes for managing bank accounts, handling transactions, and logging activities. The system supports multiple clients performing random transactions on different bank accounts concurrently.
- Bank Account Management: Create and manage multiple bank accounts.
- Concurrent Transactions: Simulate multiple clients performing deposits, withdrawals, and balance checks concurrently.
- Logging: Log transaction details and generate a transaction report.
- Bank: Manages a collection of bank accounts.
- BankAccount: Represents a single bank account with methods for deposit and withdrawal.
- Logger: Singleton class for logging transaction details and generating reports.
- C++ Standard Library
- CMake (version 3.28 or higher)
-
Clone the repository:
git clone <repository-url> cd <repository-directory>
-
Create a build directory:
mkdir build cd build -
Run CMake:
cmake ..
-
Build the project:
cmake --build .
After building the project, you can run the executable:
./src/mainsrc/: Contains the source code files.headers/: Contains the header files.CMakeLists.txt: CMake configuration file.README.md: Project documentation.
This project is licensed under the MIT License. See the LICENSE file for details.