Build Python Student Management System -- 2

Job ID: 40271797

Budget: $15 – $25 USD

I want a straightforward, console-based student management application written in Python 3. All records must be kept permanently in a plain-text file called students.txt, handled through standard file-read/write operations—no external databases.

Core operations the menu must offer:
• Add a new student record (name, roll number, class, marks)
• List every stored student with neat, column-aligned output
• Search instantly by roll number
• Update existing marks (without touching the rest of the record)
• Delete a record and tidy the file so no blank lines remain

Security is important, so the program begins with a small login module. Credentials can live in a separate text file and support three distinct roles: Admin, Teacher, and Student.
• Admin – full access to every function
• Teacher – view, search, and update marks only
• Student – view their own record after authenticating with roll number and password

Please keep the interface simple—clear prompts, input validation, and concise success/error messages. The whole system should run from the command line on any standard Python 3 interpreter without extra libraries.

Deliverables
1. Well-commented .py source files (menu, login, data operations)
2. Sample students.txt and credentials file for quick testing
3. A short README explaining setup, role permissions, and how to extend the code

Acceptance criteria
• Running main.py launches the login prompt, then the correct role-based menu
• All CRUD actions update students.txt immediately and accurately
• Code passes a quick review on PEP 8 basics and logical structure

That’s the full scope—lean, functional, and ready for further expansion once this foundation is solid.