A web-based Student Management System built using Python and Streamlit, allowing users to manage student records, upload data files, calculate grades, and view performance statistics.
- ✅ Add individual student records (Name, Roll No, Marks)
- ✅ Calculate and assign grades automatically
- ✅ Upload data from
.csv
or.xlsx
files - ✅ Prevent duplicate entries based on Roll No
- ✅ View all student records in a clean, searchable table
- ✅ Update or delete student records easily
- ✅ View insightful statistics:
- Total students
- Average marks
- Grade distribution (bar chart)
- ✅ Export all data as a
.csv
file - ✅ Reset all data with a single click
Here's the live app on Streamlit Cloud (deployed)
🔗 Live Demo Link
- Python 3.10+
- Streamlit – for the web interface
- Pandas – for data processing
- JSON – for data storage
- Matplotlib/Streamlit Charts – for visual statistics
student-management-system/
├── app.py # Main Streamlit app
├── students.json # Local data storage (JSON format)
├── requirements.txt # Python dependencies
└── README.md # Project documentation
- Python 3.10 or later installed
- Pip or Conda environment
- Clone the repository:
git clone https://github.com/your-username/student-management-system.git
cd student-management-system
- (Optional) Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install the required libraries:
pip install -r requirements.txt
- Run the Streamlit app:
streamlit run app.py
Make sure your .csv
or .xlsx
file has the following columns:
name | roll_no | marks |
---|---|---|
John Smith | 101 | 89.5 |
Jane Doe | 102 | 95.0 |
⚠️ Roll No must be unique
Marks Range | Grade |
---|---|
90-100 | A |
80-89 | B |
70-79 | C |
60-69 | D |
Below 60 | F |
Ahmad Ali Rafique
AI & Machine Learning Specialist | Deep Learning | NLP Expert
🔗 LinkedIn Profile
🎥 YouTube: AboutAI
This project is open-source and available under the MIT License.
If you like this project, give it a ⭐️ on GitHub and feel free to contribute or provide feedback!