Loading repository data…
Loading repository data…
Preveen369 / repository
A modular, console-based Java app that manages students, subjects, and grades using JDBC and MySQL. Includes GPA/CGPA calculation and CSV export features — focused on core logic and real-time academic use cases.
The Student Performance Tracker is a lightweight, console-based Java application designed to streamline academic data management without relying on external frameworks. Powered by a MySQL backend via JDBC, it provides a structured, menu-driven interface for handling student records, subject-credit mappings, grade entries, and GPA/CGPA calculations. Ideal for local or institutional use, the system emphasizes modularity, clarity, and offline operability—making it both an educational tool and a practical solution for academic workflows.
| Layer | Description |
|---|---|
db | JDBC-based connection module with MySQL |
models | POJOs: Student, Subject, and Grade |
dao | Direct DB access logic (SQL interaction) |
services | Business logic and GPA calculation routines |
menu | User interaction loop and console menu logic |
utils | Input validation, CSV export, banner display |
| Module | Responsibilities |
|---|---|
| Student Management | Add/update/delete/view student records |
| Subject Handling | Manage subject codes, titles, and credit values |
| Grade Entry | Record or edit marks per student-subject |
| GPA/CGPA Engine | Calculate weighted GPA based on marks and credits |
| Reports | Summarize GPA per subject or student |
| CSV Export | Export academic reports in .csv format |
Database Name: student_performance_db
CREATE TABLE Students (
student_id INT PRIMARY KEY,
name VARCHAR(100),
dob DATE,
department VARCHAR(50)
);
CREATE TABLE Subjects (
subject_code VARCHAR(10) PRIMARY KEY,
subject_name VARCHAR(100),
credits INT
);
CREATE TABLE Grades (
student_id INT,
subject_code VARCHAR(10),
marks_obtained INT,
PRIMARY KEY (student_id, subject_code),
FOREIGN KEY (student_id) REFERENCES Students(student_id),
FOREIGN KEY (subject_code) REFERENCES Subjects(subject_code)
);
===== STUDENT PERFORMANCE TRACKER =====
1. Manage Students
2. Manage Subjects
3. Record Grades
4. Generate Reports
5. Exit
schema.sqlDBConnection.javajavac App.java
java App
A sample file will be saved as:
student_report_1001.csv
Containing:
Student ID,Subject Code,Marks Obtained
1001,MATH101,88
1001,PHY102,77
1001,CHE103,92
Pull requests are welcome! Feel free to fork the repository and submit improvements.
Contributions are welcome! Follow these steps:
git checkout -b feature-name
git commit -m "Add feature description"
git push origin feature-name
For queries or suggestions:
If you like this project, please consider giving it a ⭐ on GitHub!