A simple C-based ATM simulation system that securely handles account management, PIN hashing using SHA-256, and SMS notifications via Twilio. It supports basic banking operations like withdrawals, deposits, transfers, and balance checks. All account data is stored in files for easy management and testing.
- Create accounts with hashed PINs
- Withdraw, deposit, and check balances
- Transfer funds and pay bills
- Send SMS notifications using Twilio API
- Generate transaction receipts
-
Copy
config.example.htoconfig.h:cp config.example.h config.h
-
Open
config.hand fill in your actual Twilio credentials:#define ACCOUNT_SID "YOUR_TWILIO_ACCOUNT_SID" #define AUTH_TOKEN "YOUR_TWILIO_AUTH_TOKEN" #define TWILIO_PHONE_NUMBER "+1YOUR_TWILIO_NUMBER" #define USER_PHONE_NUMBER "+91YOUR_NUMBER"
Make sure the libcurl development package is installed:
# Ubuntu/Debian
sudo apt update
sudo apt install libcurl4-openssl-devCompile using:
gcc atm.c -o atm_simulator -lcurl
./atm_simulator