Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ Student Grade Tracker

A Java console-based application designed to efficiently manage student records and academic performance. The application allows users to add, view, search, update, delete, and sort student records while automatically calculating grades and generating detailed summary reports.

This project was developed as part of my Java Programming Internship at CodeAlpha and demonstrates the practical implementation of Core Java concepts, Object-Oriented Programming (OOP), Collections, Exception Handling, and Input Validation.


โœจ Features

๐Ÿ‘จโ€๐ŸŽ“ Student Management

  • โž• Add new student records
  • ๐Ÿ“‹ View all students
  • ๐Ÿ” Search students by unique Student ID
  • ๐Ÿ”Ž Search students by name
  • ๐Ÿ”ค Partial and case-insensitive name search
  • โœ๏ธ Update student marks using Student ID
  • ๐Ÿ—‘๏ธ Delete student records using Student ID

๐Ÿ“Š Grade Management

  • ๐ŸŽฏ Automatic grade calculation based on marks
  • โœ… Pass/Fail result calculation
  • ๐Ÿ“ˆ Display grade-wise statistics
  • ๐Ÿ“Š Generate detailed student performance summary

๐Ÿ”ƒ Sorting

  • ๐Ÿ”ค Sort students by name (A-Z)
  • ๐Ÿ“‰ Sort students by marks (Highest to Lowest)

๐Ÿ“‘ Summary Report

The application generates a detailed summary containing:

  • Total number of students
  • Average marks
  • Highest scoring student
  • Lowest scoring student
  • Pass percentage
  • Grade-wise student statistics

๐Ÿ›ก๏ธ Input Validation

  • Prevents invalid menu input
  • Validates Student ID
  • Validates marks between 0 and 100
  • Handles invalid numeric input
  • Prevents duplicate Student IDs
  • Prevents empty student names

๐Ÿ› ๏ธ Technologies Used

  • Java
  • Object-Oriented Programming (OOP)
  • Java Collections Framework
  • ArrayList
  • Comparator
  • Scanner Class
  • Exception Handling
  • Lambda Expressions
  • Git & GitHub
  • IntelliJ IDEA

๐Ÿ“‚ Project Structure

CodeAlpha_StudentGradeTracker/
โ”‚
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ Student.java
โ”‚   โ”œโ”€โ”€ StudentManager.java
โ”‚   โ””โ”€โ”€ StudentGradeTracker.java
โ”‚
โ”œโ”€โ”€ .gitignore
โ””โ”€โ”€ README.md

File Description

File Description
Student.java Represents a student and stores Student ID, name, marks, grade, and result information.
StudentManager.java Contains the main business logic for managing, searching, updating, deleting, sorting, and analyzing student records.
StudentGradeTracker.java Contains the main method and provides the menu-driven console interface.

๐Ÿง  Java Concepts Implemented

This project demonstrates several important Core Java concepts:

  • Classes and Objects
  • Encapsulation
  • Constructors
  • Getters and Setters
  • Method Overriding
  • Static Methods and Variables
  • ArrayList
  • Collections
  • Comparator
  • Loops and Conditional Statements
  • Exception Handling
  • Input Validation
  • Lambda Expressions

๐Ÿš€ How to Run the Project

1. Clone the Repository

git clone https://github.com/rajpandey4706/CodeAlpha_StudentGradeTracker.git

2. Open the Project

Open the cloned project using:

  • IntelliJ IDEA
  • Eclipse
  • VS Code with Java extensions

3. Navigate to the Source Folder

cd src

4. Compile the Java Files

javac Student.java StudentManager.java StudentGradeTracker.java

5. Run the Application

java StudentGradeTracker

๐Ÿ–ฅ๏ธ Application Menu

==========================================
         STUDENT GRADE TRACKER
==========================================
1. Add Student
2. View All Students
3. Search Student
4. Update Student Marks
5. Delete Student
6. Sort Students
7. Display Summary Report
8. Display Grade Statistics
9. Exit
==========================================
Enter your choice:

๐Ÿ” Search Functionality

The application provides two ways to search for students:

Search by Student ID

Each student is identified using a unique Student ID.

Enter Student ID: 1001

Search by Student Name

The name search supports partial and case-insensitive searching.

For example, if the student's name is:

Raj Pandey

The student can be found using:

Raj
raj
Pandey
PANDEY
Raj Pan

This makes searching student records easier and more flexible.


๐Ÿ“Š Grade System

Marks Grade
90 - 100 A
80 - 89 B
70 - 79 C
60 - 69 D
Below 60 F

Students scoring 40 marks or above are considered PASS, otherwise FAIL.


๐Ÿ“ธ Screenshots

Project screenshots will be added here to demonstrate:

๐Ÿ“ธ Screenshots

๐Ÿ  Main Menu

Main Menu

โž• Add Student

Add Student

๐Ÿ“‹ View All Students

View Students

๐Ÿ” Search Student

Search Student

๐Ÿ“Š Summary Report

Summary Report

๐Ÿ“ˆ Grade Statistics

Grade Statistics


๐Ÿ”ฎ Future Enhancements

The following features can be implemented in future versions:

  • ๐Ÿ’พ File Handling for permanent data storage
  • ๐Ÿ—„๏ธ JDBC and MySQL database integration
  • ๐Ÿ–ฅ๏ธ GUI using Java Swing or JavaFX
  • ๐ŸŒ Spring Boot REST API
  • ๐Ÿ” Admin Login System
  • ๐Ÿ“„ Export student reports
  • ๐Ÿ“š Subject-wise marks management
  • ๐Ÿ“Š Advanced performance analytics

๐ŸŽฏ Project Objective

The objective of this project is to apply Core Java and Object-Oriented Programming concepts to build a practical console-based application for managing student academic records.

The project focuses on writing clean, modular, and maintainable Java code by separating the application into different classes based on their responsibilities.


๐Ÿ‘จโ€๐Ÿ’ป Author

Raj Pandey

MCA Student | Aspiring Java Developer

Developed as part of the CodeAlpha Java Programming Internship.


โญ If you found this project useful, consider giving the repository a star!

About

A Java console-based application for managing student records, calculating grades, and generating summary reports using OOP and ArrayList.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages