A robust Console User Interface (CUI) application built with Python and MySQL to manage student academic records. This project demonstrates database normalization, Python-SQL connectivity, and efficient data entry workflows using a remote database server.
Don't have Python installed? No problem.
This application serves as a data entry tool for educational institutions. It allows administrators to:
- Register new students or identify existing ones by Roll Number.
- Input marks for a predefined curriculum (Science, Social, Maths, English, Hindi, Kannada).
- Automatically generate unique transaction IDs (UUID) for every record.
- Store data securely in a normalized relational database on a remote server.
- Remote Database Connection: Capable of connecting to remote MySQL servers on custom ports.
- Data Normalization: Uses three separate tables (
STUDENTS,SUBJECTS,MARKS) to reduce redundancy. - Smart Error Handling: * Detects if a student already exists and automatically switches to "Update" mode.
- Validates integer inputs to prevent crashes.
- Handles network timeouts and SSL handshakes gracefully using
pymysql.
- Secure Configuration: Uses dictionary unpacking (
**kwargs) for clean and secure database connection management.
The project uses a Relational Database design:
| Table | Primary Key | Description |
|---|---|---|
| STUDENTS | ROLL_NO |
Stores student Name and Roll Number. |
| SUBJECTS | SUBJ_ID |
Stores Subject IDs (101-106) and Names. |
| MARKS | ID (CHAR 36) |
Links Student, Subject, and Marks together using UUIDs. |
- Language: Python 3.x
- Database: MySQL (Remote Server)
- Libraries: *
pymysql(For robust database connectivity)uuid(For generating unique IDs)sys(For standard input handling)
You do not need Python installed to run this application. It is a standalone Windows executable.
- Go to the Releases Page of this repository.
- Find the latest version (e.g.,
v1.0). - Under the "Assets" section, click on
gui_app.exeto download it.
- Locate the downloaded
gui_app.exefile on your computer. - Double-click to launch it.
Since this is a custom application and not signed by Microsoft, Windows Defender might show a warning popup saying "Windows protected your PC".
To bypass this:
- Click "More info".
- Click the "Run anyway" button. (This happens because the app was built by an individual developer, not a registered corporation.)