// the find
Aditya-xcity/no-due-fees-management-system
A terminal-based No Due Fees Management System written in C, featuring role-based access, file-based data persistence, and an approval workflow for students and administrators.
A terminal-based no-due fee approval system in C. Students check their clearance status and file requests, and admins verify dues and approve or reject them, with all state kept in plain-text files instead of a database. It reads best as a teaching project on C file handling and control flow, not as something an office could deploy.
Updates are written to a temp file before replacing the original, which is the right pattern for flat-file storage because it keeps student.txt from being left half-written if the process dies mid-update. The whole program is one main.c with no dependencies, so the control flow for each role can be read top to bottom in one sitting. The duplicate-request rule is the right integrity check for a queue file, since without it a student could fill approval_list.txt by re-submitting.
The admin password is the literal string admin123 in source, and nothing in the README suggests passwords are hashed in student.txt. Anyone who can read the repo or the data files has full admin access. getch() comes from conio.h, which MinGW on Windows provides but gcc on Linux and macOS does not, so the portability claim and the ./main instructions won't build there without a shim. There are no tests and no CI. The README says input redirection makes the program testable, but the admin login calls getch(), which ignores stdin, so the path that matters most can't be automated that way. The docs also disagree with the repo: the README says no binaries are tracked, yet a.exe is committed, and its file layout puts main.c at the repo root while the tree shows it inside 'No Due fees management system/'.