Skip to content

sachin-mahato25/StudentInfoSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Student Information System (SIS) with JDBC

A full-featured console-based Student Information System built with Java and MySQL using JDBC.


Java & OOP Concepts Demonstrated

Concept Where Used
Encapsulation All Model classes (Student, Grade, Course, etc.)
Inheritance Custom Exceptions extend Exception
Polymorphism Service layer method overloading
Abstraction DAO pattern separates implementation
Custom Exceptions StudentNotFoundException, ValidationException
try-catch-finally All DAO and Service methods
Collections (ArrayList, List) getAllStudents(), searchStudents()
JDBC All DAO classes
PreparedStatement Prevents SQL Injection
Singleton Pattern DatabaseConnection
DAO Pattern StudentDAO, GradeDAO, CourseDAO, UserDAO
Service Layer StudentService, GradeService, AuthService
Lambda Expressions forEach printing
Scanner User input in ConsoleUI
Switch Expression Menu navigation
Static Methods InputValidator utility methods

Project Structure

StudentInfoSystem/
├── database/
│   └── schema.sql              ← Run this first in MySQL
├── src/
│   └── com/sis/
│       ├── Main.java           ← Entry Point
│       ├── model/              ← Entity Classes (Encapsulation)
│       │   ├── Student.java
│       │   ├── Grade.java
│       │   ├── Course.java
│       │   ├── Department.java
│       │   └── User.java
│       ├── dao/                ← Database Operations (JDBC)
│       │   ├── StudentDAO.java
│       │   ├── GradeDAO.java
│       │   ├── CourseDAO.java
│       │   ├── DepartmentDAO.java
│       │   └── UserDAO.java
│       ├── service/            ← Business Logic Layer
│       │   ├── StudentService.java
│       │   ├── GradeService.java
│       │   └── AuthService.java
│       ├── exception/          ← Custom Exceptions
│       │   ├── StudentNotFoundException.java
│       │   └── ValidationException.java
│       └── util/               ← Utility Classes
│           ├── DatabaseConnection.java  ← Singleton
│           └── InputValidator.java
└── README.md

Setup Instructions

1. Prerequisites

  • Java JDK 17+
  • MySQL 8.0+
  • MySQL Connector/J JAR (mysql-connector-java-8.x.jar)

2. Database Setup

-- Open MySQL and run:
source database/schema.sql

3. Configure Database

Edit src/com/sis/util/DatabaseConnection.java:

private static final String URL = "jdbc:mysql://localhost:3306/student_info_system";
private static final String USERNAME = "root";
private static final String PASSWORD = "your_mysql_password";

4. Compile & Run

# Compile (adjust path to mysql connector jar)
javac -cp .;mysql-connector-j-8.x.jar -d out -sourcepath src src/com/sis/Main.java

# Run
java -cp out;mysql-connector-j-8.x.jar com.sis.Main

Default Login Credentials

Username Password Role
admin admin123 ADMIN
student1 pass123 STUDENT

Features

Admin Can:

  • Add / View / Search / Update / Delete students
  • Add and view grades
  • View dashboard summary (total students, departments, courses)
  • Filter students by department
  • Add new courses

Student Can:

  • View their own profile
  • View their own grades and CGPA
  • View available courses

Grade Calculation System

Marks (%) Grade
90 - 100 A+
80 - 89 A
70 - 79 B+
60 - 69 B
50 - 59 C
40 - 49 D
Below 40 F

Dependencies

About

A console-based Student Information System built using Java and OOP concepts with layered architecture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages