π Student Grade Tracker β CodeAlpha Java Internship | Task 3





A fully-featured **Java Swing GUI** application to input, manage, and analyze student grades β built as **Task 3** of the CodeAlpha Java Programming Internship.
πΈ Features
π₯οΈ Dashboard Tab
- Total number of students
- Class average score
- Highest & lowest average in class
- Passing vs failing student count
π Students Tab
- Full grade table with all 5 subjects per student
- Color-coded Grade (A / B / C / D / F) and Status (Pass / Fail) columns
- Add, Edit, and Delete student records
- Input validation (names required, scores must be 0β100)
π Analytics Tab
- Per-subject class averages (Math, Science, English, History, Computer Science)
- Full class breakdown table with total score and deviation
- Auto-generated Summary Report showing:
- Class average
- Top & lowest performing students
- Best & weakest subject
πΎ Export
- Export all student data to a CSV file via file chooser
β
CodeAlpha Task Requirements β All Met
| Requirement |
How Itβs Implemented |
| Input and manage student grades |
Add / Edit / Delete dialogs with validation |
| Calculate average, highest, lowest scores |
Computed in Student.java + displayed in Dashboard |
| Use ArrayLists to store and manage data |
ArrayList<Student> in GradeTrackerApp.java |
| Display a summary report of all students |
Analytics tab β formatted class summary report |
| GUI-based interface |
Java Swing β dark themed, 3-tab layout |
ποΈ Project Structure
CodeAlpha_StudentGradeTracker/
βββ src/
β βββ GradeTrackerApp.java β Main window, tabs, dashboard, analytics
β βββ Student.java β Model: scores, average, grade, status
β βββ StudentTableModel.java β Custom AbstractTableModel for JTable
β βββ StudentDialog.java β Add / Edit modal dialog with validation
βββ README.md
βββ .idea/ β IntelliJ IDEA configuration
π How to Run
Prerequisites
- Java JDK 17 or higher β Download here
- IntelliJ IDEA (Community or Ultimate)
Steps
# Clone the repository
git clone https://github.com/YOUR_USERNAME/CodeAlpha_StudentGradeTracker.git
# Open in IntelliJ IDEA
File β Open β Select the project folder
# Run
Open GradeTrackerApp.java β Click the βΆ Run button
π οΈ Tech Stack
| Layer |
Technology |
| Language |
Java 17+ |
| GUI Framework |
Java Swing |
| Data Storage |
ArrayList<Student> |
| Architecture |
OOP β Model / View separation |
| IDE |
IntelliJ IDEA |
| Build Tool |
None (plain Java) |
π Grade Scale
| Grade |
Average Range |
Status |
| A |
90 β 100 |
Pass β
|
| B |
75 β 89 |
Pass β
|
| C |
60 β 74 |
Pass β
|
| D |
45 β 59 |
Fail β |
| F |
0 β 44 |
Fail β |
π€ Author
Your Name
Made with β€οΈ as part of the CodeAlpha Java Programming Internship