Skip to content

nihahawas/CodeAlpha_StudentGradeTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Student Grade Tracker β€” CodeAlpha Java Internship | Task 3

Dashboard

Java Swing CodeAlpha Status

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

About

πŸŽ“ Student Grade Tracker β€” Java Swing GUI app to manage student grades, calculate averages, and generate performance reports. Built for CodeAlpha Java Internship Task.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages