This program is based on the architecture of this, and was originally a fork of it.
Unfortunately, the owner seems to be not active at all, in that, I create this repo as my own.
A basic ATM simulator that can be run on a terminal window, which is written in C. It has the following funtionalities:
- Create Account
- User Authentication
- Change Password
- Deposit, Withdraw money
- View Account details
- Reconstruct the basic architecture of the program
- Add a SuperUser option for administrator to add/delete/modify users
❌ Add documents
❌ Enhance the readability of the code
❌ Plug in the query for history transactions and balance change (SuperUser)
✅ Deprecate the username, using card ID only
✅ Finish the SuperUser function: Create accounts
✅ Add some cooldown features, like exiting to main menu after 3 consecutive wrong attempts
✅ Add the transfer feature
✅ Add the transaction-history feature
✅ Encipherment for Card IDs and Passwords
✅ Finish the access to ALL-Users-List (SuperUser)
The encryption and decryption of the card ID and password is Advanced Encryption Standard, AES, and mostly based on the code from the following repository.
Thanks to the authors for their generous sharing of knowledge.
Steps to execute:
- Use "make -f pr.mk" to create the executable file ATM.exe
- To execute a.out file use "./ATM" command.