// the find
sagelga/ComPro_Project
Fully Functional Point of Sale (POS) CLI system with sales, predictive and analytics tool. Written in pure C language
A university student project implementing a full POS system in pure C, with inventory management, customer loyalty points, role-based access, and exponential smoothing sales forecasting. Written for a Thai university IT course circa 2017. It's a terminal UI application that stores data in flat binary files.
Uses exponential smoothing with SSE-based alpha selection for forecasting — more thoughtful than a naive moving average for a student project. Role-based access control with separate admin/cashier permissions is implemented, not just bolted on. The terminal UI has consistent keyboard shortcuts across all screens, which shows care for UX even in a CLI context. Makefile-based build keeps the setup simple — just `make && make run`.
Flat `.db` files as storage means no concurrent access, no transactions, and no recovery if a file gets corrupted mid-write during a sale. Passwords are almost certainly stored in plaintext given the era and context — the README shows `admin/admin` as default credentials with no mention of hashing. The codebase is 4000+ lines of C spread across ~15 files with no obvious testing infrastructure beyond Travis CI, so adding features or fixing bugs is risky. Last commit was 2022, repo is effectively dead.