Code Monkey home page Code Monkey logo

seng_capstone_atm's Introduction

seng_Capstone_ATM

ATM Simulator for SENG 1000 Capstone Project '22

Log In Using Your Random Pin, which will generate a random amount of money based on 4-digit input.

Cycle through a user-friendly command line using functions such as withdraw, deposit, transfer, find, and more.

Possible Admin account, showing all account holders, allowing creation/deletion of users, number of monthly transactions per user, logins, account balance, etc..

•The core goal in this build is to try and implement most of the python language lessons learned up until now, packaged in a functional piece of software. Ready to be copy written and licensed to the highest bidder.

• Some example of lessons: Dictionaries, Lists, Floats, Strings, Input, While-loops, For-loops, Importing, Packaging/Unpackaging, Sorting, Enumeration, & lastly Advanced Functions of all types incorporated in this build.

seng_capstone_atm's People

Contributors

jrogersecu avatar kamron-h avatar hani-sierra avatar villaluzr20 avatar asrars20 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

seng_capstone_atm's Issues

Create Admin/Transactions View & Populate

Create functions and views (as needed) for the following features:

  1. View All Transactions
  2. View Last(int)
  3. Average Balance
  4. Maximum
  5. Minimum
  6. Flagged

Wait until the 'Account_Holders' dictionary is created & active before attempting this...

Create Admin Command Line Screen

  • Do so by copying and pasting the Command-Line GUI from the User Screen/View.
  • REMEMBER, you need to create a new .py file called 'admin' and place ALL ADMIN CODE INSIDE NEW .py FILE...

Populate Accounts GUI

--> ACCOUNTS <--

  1. Checking
    (Show balance)
  • Show transactions
  • Search transactions
  • Deposit
  • Dispute?
  1. Savings
    (Show balance)
  • User transactions
  • Search transactions
  • Deposit
  1. Credit
    (Show balance)
  • User transactions
  • Search transactions
  • Make a Payment
  • Dispute?

Mutulu ... 00/00/00

                                   (total cash)  

Checking & Saving $ 50,1181

0 - Checking $ 12,908
(available balance)
1 - Savings $ 38,281
(available balance)

Loans & Credit

2 - Credit $ 87
(current balance)

Develop GUI for Commands

--> MAIN/HOME VIEW <--

  1. Accounts
  2. Withdraw
  3. Deposit
  4. Transfer
  5. Products & Prices
  • CD's 0.003%
  • etc....

Only Create GUI. CRUD functions used to make the above GUIs will be placed in a separate issue.

Develop GUI for Admin Commands

  1. Users
  • View Users
  • Update User
  • Delete Users
  • Search Users
  • Add User
  1. Transactions
  • View All
  • View Last(int)
  • Average Balance
  • Maximum
  • Minimum
  • Flagged
  1. System Info.
  • Amount Dispensed
  • Amount On Hand
  • OS Version (19.2)
  • Model (R927)
  • Serial Number (08DN385)
  • Data Storage Capacity (64GB)
  • Wi-Fi Address (A0:F3:C1:3B:6F:90)
  • Modem Firmware (19.0.33)
  • Network (Verizon)

Only Create GUI. CRUD functions used inside the above GUIs will be placed in a separate issue.

Create/configure the "WITHDRAW” UI & feature

  • Create/configure the "WITHDRAW" feature and UI.

  • Implement a function or statement that creates a new entry inside of either debit and/or savings transactions.

  • Prompt the user to choose a command (Withdraw from Saving or Checking) "after" the Withdraw UI pops up.

  • Based on the user's choice, prompt the user to input the amount to WITHDRAW.

  • Then remind the user that there will be a fee. Prompt user to accept or decline the mandatory fee. If the user declines the fee run "user_program(user)" function to return to the main menu.

  • After getting the input for the amount, create a new dictionary with the input values. If the user chose to withdraw, only create an additional dictionary for the selected account (Checking/Saving).

  • All we're doing is adding a dictionary to the inner dictionary of accounts.

  • Accounts(Dict) --> Debit/Savings Transaction(Dict) --> New/Additional Dictionary Entry(Dict)

Date Credit/Debit Expense(reason for transaction) Amount Remaining/New Balance < -- Keys

00/00/00 C Random Expense 99,000 132,746 <-- Values

P.S. If you need help, reach out to me or Mr. Vilkomir
@villaluzr20

Create List of Transactions Widget

A widget is basically a mini view/display. It will rest under the user's main menu.

  • It should display:

date; time; description; amount before; amount after transaction.

  • The data will be read from a LIST (Transactions) nested within the Users dictionary.

Create A Welcome Screen

  • Let your creativity be free…
  • Use Advanced String Formatting and some py-Art to make a simple welcome-view text display.

Create “Deposit" UI

Create/configure the Deposit feature and UI.

  • Implement a function or statement that creates a new entry inside of both debit and/or savings transactions.

  • Prompt the user to choose a command (Deposit in Saving, Checking, or Both) "after" the Deposit UI pops up.

  • Based on the user's choice, prompt the user to input the amount to deposit and the source/reason (Job, Tax Refund, etc...)

  • After getting the input, create a new dictionary with the values. If the user chose deposit, only create an additional dictionary for a deposit, if both, then create for both deposit and savings (the amount split based on the user's wishes/input.

  • All we're doing is adding a dictionary to the inner dictionary of accounts.
    Accounts(Dict) --> Debit/Savings Transaction(Dict) --> New/Additional Dictionary Entry(Dict)

Date Credit/Debit Expense(reason for transaction) Amount Remaining/New Balance < -- Keys

00/00/00 C Random Expense 99,000 132,746 <-- Values

P.S. If you need help, reach out to me or Mr. Vilkomir
@hani-sierra

Create Admin/Users View & Populate

Create functions and views (as needed) for the following features:

  1. View Users
  • Enumerate & display users
  1. Update User
  2. Delete Users
  3. Search Users
  4. Add New User

Create File to Hold User Accounts Dictionary

  • Create file that holds a Dictionary of User-Accounts
  • The value for each dictionary key will be another dictionary of the account-holder's attributes. The keys will be the account-holder's name.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.