finds.dev

Khizarc/veterinary-clinic-system

Menu-driven veterinary patient and appointment management system in C — validated booking, chronological scheduling, no external dependencies

View on GitHub

CMITupdated Sep 2026

// the take

A terminal-based veterinary patient and appointment tracker written in plain C with zero dependencies — menus for CRUD on patients and bookings, backed by fixed-size in-memory arrays loaded from flat text files. It's a coursework project (by the author's own account) aimed at demonstrating disciplined C, not at running an actual clinic.

All input validation happens at the boundary (inputIntRange, inputCharOption, inputCString loop until valid), so domain logic never has to handle a malformed value. Appointment booking checks four independent constraints — clinic hours, half-hour granularity, a real calendar date including the full leap-year rule, and double-booking — which is more rigor than most toy schedulers bother with. The author went back and fixed real bugs post-submission: an infinite loop on EOF in the input helpers, an out-of-bounds read in inputCString on an empty first line, and an unbounded fscanf that could overflow a patient's name field into adjacent struct members.

Nothing persists: every add, edit, or cancel during a session is lost on exit since there's no write-back to the data files, which makes it a demo rather than a usable tool. Capacity is hardcoded at compile time (20 patients, 50 appointments) with no dynamic growth, so it can't scale past a trivial dataset without recompiling. It's single-user, single-process, no concurrency story at all — fine for a terminal exercise, a non-starter for anything resembling real clinic software. Sorting appointments by packing five date/time fields into one int and later unpacking them is a cute trick but a fragile one; it only works because the chosen field widths happen not to overflow, and there's no comment-level guarantee that stays true if the struct changes.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
0
Forks
0
Language
C
License
MIT
Last commit
3 Sep 2026

// nearby

If veterinary-clinic-system isn't quite it.

All repos →