flexycode / CCPRGG1L_ACTIVITY_COM23P

CCPRGG1L-COMP23P Group Project for 1st semester final exam project, Exercises and Lab Activity for Professor Jay Abaleta
6 stars 4 forks source link

💫 CCPRGG1L_FINALPROJECT_COM23P 

CCPRGG1L-COMP23P Group Project for 1st semester final exam project     

Group Name: Artificial Ledger  🇵🇭

Name: Jay Arre Talosig 

Subject & Section: 🧚‍♂️ CCPRGG1L COM23P 🧚‍♀️  

Professor: 👦 Jay D. Abaleta           

📊 Table of Contents

Table of Contents

Introduction

This repository contains source code for a Java project that focuses on fundamental concepts and exercises. The code includes examples of input/output operations, arithmetic calculations, and basic Java syntax.

⚡ Course Outline: https://nationalueduph.sharepoint.com/:w:/r/sites/FundamentalsofProgramming-CCPRGG1LCOM23P/_layouts/15/Doc2.aspx?action=edit&sourcedoc=%7B5e6c8bed-44a9-4add-a947-3c727bf33daa%7D&wdOrigin=TEAMS-MAGLEV.teamsSdk_ns.rwc&wdExp=TEAMS-TREATMENT&wdhostclicktime=1707804185955&web=1
⚡ Repository Source: https://github.com/flexycode/CCPRGG1L_FUNDAMENTALS_COM23P
⚡ Object-Oriented Source Code: https://https://github.com/flexycode/BankingSystem

CCPRGG1L Table lecture

Topic Description  
Part 1 - Introduce Basic Programming Introduction to Basic programming Variables and Type
Part 2 - Java Programming Problem-solving phases
Part 3a - Understand the basic concepts of Object-Oriented Programming (OOP) Compare Procedural and OOP
Part 3b - Learn how to declare and use classes and objects in Java Introduction to objects and classes
Part 4 - Learn how to implement user-defined methods Primitive types and String Class, Basic Operators (Arithmetic, Relational, and Logical)
Part 5 - Identify the types of variables and its scope Class Methods, Variables Scoping
Part 6 - Sequential, conditional, and iteration structure Sequential Structure
Part 7 - Learn the difference between sequential, conditional, and iteration structure Conditional Structure
Part 8 - Learn how to use various conditional structures Sequential vs Conditional Structure
Part 9 - Learn the difference between sequential, conditional, and iteration structure Sequential vs Conditional Structure
Part 10 - Learn how to use various iteration structures Sequential vs Conditional Structure
Part 11 - Learn built-in mathematical function in the Java Math Class Library String and char operations
Part 12 - Learn built-in mathematical function in the Java Math Class Library Arrays and Array list

Banking System

Introduction

Welcome to the Banking System! This system allows users to perform various banking activities such as creating accounts, depositing/withdrawing money, checking balances, and displaying account details. A banking program in Java, that the users can do the following banking activities like creating accounts, depositing/withdrawing money, checking balance, and displaying account details.

Features

Code Structure Tree

New Version of CryptoBank diagram tree

CryptoBank.java
├── main(String[] args)
│   ├── Scanner for input
│   └── Switch statement for menu options
├── createNewAccount(Scanner scanner)
│   ├── Checks if maximum account limit is reached
│   └── Creates a new account and adds it to the account arrays
├── performTransaction(Scanner scanner, boolean isDeposit)
│   ├── Asks for account number and amount
│   └── Performs deposit or withdrawal based on isDeposit flag
└── checkBalance(Scanner scanner)
    ├── Asks for account number
    └── Displays the balance of the specified account

Previous Version when I used Encapsulation

CryptoBank diagram tree

CryptoBank.java
│
├── main(String[] args)
│   ├── Scanner for input
│   └── Switch statement for menu options
│
├── createNewAccount(Scanner scanner) 
│   ├── Checks if maximum account limit is reached
│   └── Creates a new BankAccount and adds it to the accounts array
│
├── performTransaction(Scanner scanner, boolean isDeposit)
│   ├── Asks for account number and amount
│   └── Performs deposit or withdrawal based on isDeposit flag
│
├── checkBalance(Scanner scanner)
│   ├── Asks for account number
│   └── Displays the balance of the specified account
│
└── BankAccount (Static Inner Class)
    ├── Fields: accountName, accountNumber, balance
    ├── Constructor: BankAccount(String accountName, int accountNumber)
    ├── deposit(double amount)
    ├── withdraw(double amount)
    └── checkBalance()

Tree Diagram Simple Structure

CryptoBank (Workspace Folder in Eclipse or VS Code
├── bin
└── Package
    ├── src
        └── CryptoBank.java (java file class)

Switch Statement

The switch statement in the main method controls the program's flow based on the user's menu choice. Each case corresponds to a different banking operation, calling the appropriate method:

Methods for Deposit and Withdraw

Testing the Array with Temporary Data

The array accounts is used to store instances of the BankAccount class. In the main method, the program creates a new BankAccount and adds it to the accounts array when the user chooses to create a new account. This is a form of testing the array with temporary data, as it simulates the creation of new accounts in a real banking system.

Important Features in the Code

🧊 Installation  

Installation ✍️      

  1. Clone the repository to your local machine.
  2. Open the project in your preferred programming environment.
  3. Build the project to compile the source code.

Usage ✍️

  1. Run the CryptoBank class to start the program.  
  2. Follow the on-screen menu options to perform various banking activities.
  3. Enter the required information when prompted, such as account numbers, account holder names, deposit/withdrawal amounts, etc.
  4. View the program's output to see the results of each operation.

🏆 Contributing   

Contributing  

If you would like to contribute to the Banking System, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them.
  4. Push your changes to your forked repository.
  5. Submit a pull request to the main repository.

🧠 Submitting Changes

🧠 Contributions are welcome! If you have ideas for improvements or want to add more exercises, follow these steps:

  1. Fork the repository.
  2. Create a new branch.
  3. Make your changes and commit them.
  4. Push to your fork and submit a pull request.

👋 Contributors

Special thanks to all my groupmates:

🛸 Reporting Issues

🤖 If you encounter any issues or have suggestions, please open an issue to let us know.

🔑 License 

License

The Banking System is licensed under the MIT License and ALT Licence. This project is licensed under the MIT License and Artificial Ledger Technology.

📫 Changelogs     

[1.4.10] - 2024-03-02     

Added

Changed

Fixed

Problem

Back to Table of Content