A professional, console-based Python application that helps manage student report cards with secure admin access, full grading logic, leaderboard generation, and file-based storage. Built with clean validation, backup handling, and test coverage.
student_report_card/
│
├── LICENSE.md # MIT License
├── .gitignore # Ignores pycache, .vscode, etc.
├── README.md # Project documentation
├── CHANGELOG.md # Version-wise changelog
├── sample.txt # Sample report output
├── student_report_card.py # Main application logic
├── banner.png # Project banner (for branding)
│
└── test/ # Unit test scripts
├── test_add_student.py
├── test_delete_student.py
├── test_edit_student.py
└── test_search_student.py
- 📥 Add student information with marks input
- 🔍 Search by Name, Roll Number, or Class
- ✏️ Edit existing student records
- 🗑️ Delete student records with confirmation and backup
- 📜 View all students' information
- 🏆 View top 3 position holders
- 📊 Leaderboard sorted by percentage
- 🔐 Admin login system (username/password)
- 💾 File backup system before data deletion/edit
Run each test file to validate core functionalities:
python test/test_add_student.py
python test/test_delete_student.py
python test/test_edit_student.py
python test/test_search_student.py✅ All tests successfully run and verified.
Username:
adminPassword:1234
Content from sample.txt:
=========================
📄 Students Report Card
Name: Ayesha Khan
Roll number: 1023
Class: 9A
English marks: 85
Maths marks: 92
Science marks: 78
Computer marks: 88
Urdu marks: 90
Islamiat marks: 80
Total marks: 513/600
Percentage: 85.50%
Grade: A+
=========================
- Python 3.6+
- No external libraries required
Licensed under the MIT License. See LICENSE.md for full details.
Developed with 💻 by Rumaisa Islam 🔗 GitHub: @Rumaisas-islam
If you found this helpful or learned something, please consider giving a ⭐ on GitHub!
