Skip to the content.

🏦 Banking System

This project was developed as part of the NTT DATA Bootcamp - Data Engineering with Python challenge on Digital Innovation One (DIO). The goal is to implement a simple banking system with deposit, withdrawal, statement, user, and account management functionalities.

⚙️ Features

The banking system includes the following features:

  1. Deposit: Allows users to deposit positive amounts into their bank accounts.
  2. Withdraw: Users can make up to 3 withdrawals per day, with a maximum limit of R$ 500.00 per withdrawal.
  3. Statement: Displays all deposits and withdrawals made, as well as the current account balance.
  4. Create User: Users can be created by providing their name, date of birth, CPF (validated as a unique 11-digit number), and address.
  5. Create Account: Each user can have one or more accounts. Accounts are created with a unique sequential number tied to a user.
  6. List Accounts: Displays all the accounts created, showing the account number, branch, and associated user.
  7. List Customers: Lists all registered customers, displaying their name, CPF, and address.
  8. Exit: Closes the system.

🔒 System Rules

🛠️ Technologies Used

📋 Prerequisites

🚀 How to Run

To run the banking system, follow these steps:

  1. Make sure you have Python installed on your machine.
  2. Clone this repository.
    git clone https://github.com/your-username/banking-system.git
    
  3. Navigate to the project directory.
    cd Banking-Challenge
    
  4. Run the script:
    python challenge.py
    

🤝 Contribution

Contributions, issues, and pull requests are welcome! Feel free to check the issues page if you have any questions or suggestions.

📄 License

This project is free for educational purposes. This project is licensed under the MIT License. See the LICENSE file for more details.