finds.dev← search

// the find

Sarah-Kazi/atm_simulation

C · updated Jun 2025

A simple C-based ATM system that securely handles account management, cash withdrawals, deposits, fund transfers, PIN hashing with SHA-256, and SMS notifications via Twilio API. User data is safely stored in text files, demonstrating file I/O, encryption, and basic API integration.

A student project implementing an ATM simulation in a single C file (~600-800 lines likely). Covers the basics — PIN hashing, file-backed accounts, Twilio SMS — but this is a learning exercise, not something you'd build on. Aimed at beginners exploring C file I/O and API integration.

SHA-256 for PIN hashing is the right call for a C project at this level; many similar projects just store PINs in plaintext. Twilio integration via libcurl in plain C is a decent exercise in HTTP from scratch. The config.h pattern keeps credentials out of source, which is the right habit even for toy projects.

All data lives in text files with no locking — concurrent access (or even two rapid transactions) will corrupt account state. The phone number is hardcoded in config.h as a single constant, so this literally cannot notify different users. No Makefile or build system beyond a one-liner gcc command. Zero tests and zero error handling visible in the directory tree means the happy path probably works and little else does.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →