Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/billalben/bank-system-cpp

Bank System
https://github.com/billalben/bank-system-cpp

bank-system cpp oop

Last synced: 17 days ago
JSON representation

Bank System

Awesome Lists containing this project

README

        

# bank-system-cpp

This is a C++ console-based bank management system built with object-oriented programming (OOP) principles and a divide-and-conquer approach. The system features clean code, a well-structured layout, and robust functionalities.

## Features

- **Clean Code & Well Structured**: Ensuring maintainability and readability.

- **Divide and Conquer**: Breaking down tasks into smaller, manageable functions.

- **Object-Oriented Programming**: Utilizing classes and objects for modularity.

- **Login System**: Three attempts to log in.

- **Password Encryption**: Passwords are encrypted before storing in files.

- **User Permissions**: Different permissions can be assigned to users.

- **Client Management**: Add, delete, update, find, and list clients.

- **Transaction Management**: Deposit, withdraw, check total balances, transfer, and view transfer logs.

- **User Management**: Add, delete, update, find, and list users.

- **Currency Exchange**: List currencies, find currency rates, update rates, and use a currency calculator.

- **Secure Logout**: Ensuring users can securely exit the system.

## Screenshots

### Login Screen:

``` markdown
___________________________________________

Login Screen
___________________________________________

User:
Date: 25/5/2024

Enter Username? User2
Enter Password? 1234
```

### Main Screen:

```markdown
___________________________________________

Main Screen
___________________________________________

User: User2
Date: 25/5/2024

===========================================
Main Menu
===========================================
[1] Show Client List.
[2] Add New Client.
[3] Delete Client.
[4] Update Client Info.
[5] Find Client.
[6] Transactions.
[7] Manage Users.
[8] Login Register.
[9] Currency Exchange.
[10] Logout.
===========================================
Choose what do you want to do? [1 to 10]?
```

### Transactions Menu:

```markdown
___________________________________________

Transactions Screen
___________________________________________

User: User2
Date: 25/5/2024

===========================================
Transactions Menu
===========================================
[1] Deposit.
[2] Withdraw.
[3] Total Balances.
[4] Transfer.
[5] Transfer Log.
[6] Main Menu.
===========================================
Choose what do you want to do? [1 to 6]?
```

### Manage Users Menu:

``` markdown
___________________________________________

Manage Users Screen
___________________________________________

User: User2
Date: 25/5/2024

===========================================
Manage Users Menu
===========================================
[1] List Users.
[2] Add New User.
[3] Delete User.
[4] Update User.
[5] Find User.
[6] Main Menu.
===========================================
Choose what do you want to do? [1 to 6]?
```

### Currency Exchange Menu:

``` markdown
___________________________________________

Currency Exchange Main Screen
___________________________________________

User: User2
Date: 25/5/2024

===========================================
Currency Exchange Menu
===========================================
[1] List Currencies.
[2] Find Currency.
[3] Update Rate.
[4] Currency Calculator.
[5] Main Menu.
===========================================
Choose what do you want to do? [1 to 5]?
```

## Installation

1 - Clone the repository:
``` sh
git clone https://github.com/billalben/bank-system-cpp.git
```

2 - Navigate to the project directory:
``` sh
cd bank-system-cpp
```

3 - Compile the project:
``` sh
g++ -o bankSystem main.cpp
```

## Usage

1 - Run the application.

2 - Log in using your credentials.

3 - Navigate through the menus to manage clients, users, transactions, and currency exchanges.

## Contribution

- Fork the repository.

- Create a new branch (git checkout -b feature/YourFeature).

- Commit your changes (git commit -m 'Add some feature').

- Push to the branch (git push origin feature/YourFeature).

- Open a pull request.

# Contact

- **Email:** [email protected]