A comprehensive Student Management System built with Python, Tkinter, and MySQL. This repository contains two versions of the application, representing the evolution from a basic CRUD tool to a more advanced system with data visualization.
- Focus: Core CRUD operations.
- UI: Standard Tkinter interface.
- Features: Add, View, and Delete student records with persistent MySQL storage.
- Focus: Advanced Features & Analytics.
- UI: Enhanced Tkinter interface with improved layout.
- Features:
- Full CRUD support.
- Data visualization (Bar Charts) using
matplotlib. - CSV Export functionality.
- Robust search and filtering.
- Tkinter GUI: Intuitive desktop interface for easy record management.
- MySQL Integration: Persistent storage for all student data and marks.
- Analytics: Visualize student performance across different subjects (v2).
- Export: Save records to CSV for external reporting (v2).
- Language: Python 3.x
- GUI Framework: Tkinter
- Database: MySQL
- Data Visualization: Matplotlib
- Utilities: Connector/Python, OpenCSV (equivalent logic)
-
Python 3.8+
-
MySQL Server
-
Required Libraries:
pip install mysql-connector-python matplotlib
-
Configure Database
- Create a MySQL database named
school_db. - Ensure your credentials are set correctly in the source files (or
.envif configured).
- Create a MySQL database named
-
Run Version 1
cd Student-GUI-with-SQL-version-1 python main.py -
Run Version 2
cd Student-GUI-with-SQL-version-2 python main.py
This project is licensed under the MIT License - see the LICENSE file for details.