A command-line interface for managing student records, marks, and grades. Built with Python, this system supports role-based authentication (admin and student) with comprehensive student data management features.
- ✅ Add Student - Register new students with their marks
- ✅ View All - Display all student records in a formatted table
- ✅ Search - Find students by ID or name
- ✅ Student Report - View detailed report for a specific student
- ✅ Sort Students - Sort by name or percentage
- ✅ Update Student - Modify student information and marks
- ✅ Delete Student - Remove student records
- ✅ Change Password - Update admin password
- ✅ View My Data - Check personal academic records
- ✅ My Report - Get detailed performance report
- ✅ Change Password - Update student password
- Math
- Science
- Social
- Computer
- English
- Language
- Python 3.6 or higher
- No external dependencies required (uses only Python standard library)
- Clone the repository:
git clone https://github.com/yourusername/student-management-system-cli.git
cd student-management-system-cli- Run the application:
python main.py- Start the application
- Enter your Student ID/Username
- Enter your password
- On first login, you'll be prompted to change your default password
After logging in as admin, you can:
- Add new students with marks (0-100 for each subject)
- View all records in a formatted table
- Search by student ID or name
- Generate detailed reports
- Sort students by name or percentage
- Edit student information
- Delete records
After logging in as a student, you can:
- View your academic records
- Check your performance report (total, percentage, grade)
- Change your password
Grades are calculated based on percentage:
- A : 90% and above
- B : 75% - 89%
- C : 50% - 74%
- F : Below 50%
├── main.py # Main application entry point
├── auth.py # Authentication and user management
├── model.py # Student data model
├── service.py # Student operations and business logic
├── users.txt # User credentials (JSON format)
├── data.txt # Student records (JSON format)
└── README.md # This file
- users.txt - Stores user credentials and roles
- data.txt - Stores all student records and their marks
Both files use JSON format for easy readability and modification.
- Passwords are stored in plain text (not for production use)
- For production, implement proper password hashing (bcrypt, argon2)
- Use environment variables for sensitive data
- Implement database instead of JSON files
- Database integration (SQL)
- Password encryption/hashing
- REST API interface
- Web UI dashboard
- Email notifications
- Backup and restore functionality
- Advanced analytics and insights
- Multi-class management
This project is open source and available under the MIT License.
Created as a Student Management System CLI project.
For issues, feature requests, or contributions, please create an issue or pull request on GitHub.
Note: This is a learning project suitable for educational purposes. For production use, implement proper security measures, database integration, and error handling.