{"id":25802089,"url":"https://github.com/abishekraja01/student-management-system-java","last_synced_at":"2026-05-15T08:35:12.162Z","repository":{"id":279392180,"uuid":"938659219","full_name":"abishekraja01/Student-Management-System-Java","owner":"abishekraja01","description":"A Java Swing-based Student Management System with MySQL integration, offering CRUD operations for student records.","archived":false,"fork":false,"pushed_at":"2025-02-26T05:15:40.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T06:21:32.436Z","etag":null,"topics":["crud","gui-application","java","jdbc","mysql","oops-in-java","studentmanagementsystem","swing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abishekraja01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-25T09:52:52.000Z","updated_at":"2025-02-26T05:15:44.000Z","dependencies_parsed_at":"2025-02-26T06:21:34.056Z","dependency_job_id":null,"html_url":"https://github.com/abishekraja01/Student-Management-System-Java","commit_stats":null,"previous_names":["abishekraja01/student-mangement-system","abishekraja01/student-management-system-java"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abishekraja01%2FStudent-Management-System-Java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abishekraja01%2FStudent-Management-System-Java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abishekraja01%2FStudent-Management-System-Java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abishekraja01%2FStudent-Management-System-Java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abishekraja01","download_url":"https://codeload.github.com/abishekraja01/Student-Management-System-Java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241036514,"owners_count":19898166,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crud","gui-application","java","jdbc","mysql","oops-in-java","studentmanagementsystem","swing"],"created_at":"2025-02-27T16:46:38.868Z","updated_at":"2025-10-26T22:15:57.006Z","avatar_url":"https://github.com/abishekraja01.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Student Management System** 🎓  \nThe **Student Management System (SMS)** is a **Java-based desktop application** designed to help manage student records efficiently. This project is built using **Java Swing** for the graphical user interface and **JDBC (Java Database Connectivity)** for database interactions with **MySQL**.  \n\nThe system provides a **user-friendly interface** where users can **add, update, delete, and view student details**. This project is particularly useful for students, beginners in Java, and those looking to learn **GUI programming, database handling, and CRUD operations** in Java.  \n\n---\n\n## **Project Description** 📖  \nThe **Student Management System** is a **simple yet effective** tool for managing student data within an educational institution. The application allows users to perform fundamental operations on student records, such as:  \n\n🔹 **Adding new students** with details like Name, Age, and Grade.  \n🔹 **Modifying existing student information** dynamically without affecting other data.  \n🔹 **Deleting student records** from the database.  \n🔹 **Displaying all students** in a tabular format for easy access and readability.  \n🔹 **Ensuring data persistence** using MySQL as the backend database.  \n\nThe project follows a **modular architecture**, separating concerns into different files to maintain **code clarity, efficiency, and scalability**.  \n\n---\n\n## **Project Features** ✨  \nThe **Student Management System** comes with the following features:  \n\n✅ **Graphical User Interface (GUI):** Built using **Swing** to provide a user-friendly experience.  \n✅ **Student Data Management:** Users can **Add, Update, Delete, and View** student details.  \n✅ **Database Integration:** Uses **MySQL** for persistent data storage.  \n✅ **Real-time Updates:** Any changes made to student records are immediately reflected in the database.  \n✅ **Error Handling \u0026 Validations:** Ensures correct user inputs to prevent incorrect database entries.  \n✅ **Modular Code Structure:** Organized files to separate **business logic, UI, and database operations**.  \n\n---\n\n## **Project Structure** 📂  \nThe **Student Management System** is divided into different components for better organization and maintainability:  \n\n📁 **Student Management System**  \n├── 📄 `Main.java` – The entry point of the application.  \n├── 📄 `Student.java` – Model class representing student details (Encapsulates student attributes).  \n├── 📄 `DatabaseHelper.java` – Handles **MySQL connectivity** and **CRUD operations** using JDBC.  \n├── 📄 `StudentForm.java` – The GUI form for **adding/updating/deleting** student details.  \n├── 📄 `StudentTable.java` – Displays student records in a **JTable** format.  \n\nEach file has a **specific responsibility**, ensuring a **clean and maintainable codebase**.  \n\n---\n\n## **Technology Stack Used** 🛠  \nThe project is developed using:  \n\n🔹 **Java SE (Standard Edition)** – Core programming language.  \n🔹 **Swing** – Java’s built-in GUI framework for designing the graphical interface.  \n🔹 **JDBC (Java Database Connectivity)** – To interact with **MySQL** database.  \n🔹 **MySQL** – For storing student data persistently.  \n\n---\n\n## **How It Works?** ⚡  \nThe **Student Management System** works as follows:  \n\n### **1️⃣ Adding a Student**  \n- Users enter **Name, Age, and Grade** in the GUI form.  \n- Clicking the **\"Add Student\"** button stores the details in the **MySQL database**.  \n- The **JTable** updates to show the newly added student.  \n\n### **2️⃣ Updating a Student Record**  \n- Users select a student from the **table**.  \n- They modify the required details and click the **\"Update Student\"** button.  \n- The changes are saved in the **MySQL database** and updated in the table.  \n\n### **3️⃣ Deleting a Student Record**  \n- Users select a student from the table.  \n- Clicking **\"Delete Student\"** removes the record from the **MySQL database** permanently.  \n- The **JTable refreshes** to reflect the changes.  \n\n### **4️⃣ Viewing Student Records**  \n- All student records are **retrieved from MySQL** and displayed in a **JTable** on the UI.  \n- Users can scroll and view the details dynamically.  \n\n---\n\n# **📌 Installation \u0026 Setup Guide: Student Management System**\n\n## **🛠️ Prerequisites**\nBefore running the project, ensure you have the following installed on your system:  \n- **Java Development Kit (JDK) 8+** → [Download Here](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html)  \n- **MySQL Database** → [Download Here](https://dev.mysql.com/downloads/mysql/)  \n- **MySQL Connector/J (JAR file)** → [Download Here](https://dev.mysql.com/downloads/connector/j/)  \n- **Apache NetBeans / IntelliJ IDEA (Recommended IDEs)** → [Download Here](https://www.jetbrains.com/idea/download/?section=windows)  \n\n---\n\n## **📥 Installation Steps**\n\n### **1️⃣ Download the Project Files**\n- Extract the downloaded project folder to a suitable location on your system.  \n\n### **2️⃣ Install \u0026 Configure MySQL Database**\n1. **Install MySQL** from [MySQL Official Website](https://dev.mysql.com/downloads/mysql/).  \n2. Open **MySQL Workbench** or **Command Line** and create a new database:\n   ```sql\n   CREATE DATABASE student_management;\n   ```\n3. **Select the database**:\n   ```sql\n   USE student_management;\n   ```\n4. **Create the students table**:\n   ```sql\n   CREATE TABLE students (\n       id INT AUTO_INCREMENT PRIMARY KEY,\n       name VARCHAR(100) NOT NULL,\n       age INT NOT NULL,\n       grade VARCHAR(10) NOT NULL\n   );\n   ```\n5. (Optional) Insert sample data:  \n   ```sql\n   INSERT INTO students (name, age, grade) VALUES ('John Doe', 20, 'A');\n   INSERT INTO students (name, age, grade) VALUES ('Jane Smith', 22, 'B');\n   ```\n\n---\n\n## **📂 Adding MySQL Connector/J (JAR File) to Project**\n### **3️⃣ Download MySQL Connector/J**\n1. Go to [MySQL Connector/J Official Page](https://dev.mysql.com/downloads/connector/j/).  \n2. Download the latest version **(Platform Independent - ZIP Archive)**.  \n3. Extract the ZIP file and locate **`mysql-connector-java-\u003cversion\u003e.jar`**.  \n\n### **4️⃣ Add MySQL Connector to Project**\n#### **🔹 In NetBeans**  \n1. **Right-click the project** → `Properties`.  \n2. Go to `Libraries` → Click `Add JAR/Folder`.  \n3. Select **`mysql-connector-java-\u003cversion\u003e.jar`** and click `Open`.  \n4. Click `OK` to save changes.  \n\n#### **🔹 In IntelliJ IDEA**  \n1. **Right-click the project** → `Open Module Settings`.  \n2. Go to `Libraries` → Click `+ (Add Library)`.  \n3. Select **`mysql-connector-java-\u003cversion\u003e.jar`** and click `Apply`.  \n\n---\n\n## **⚙️ Configure \u0026 Run the Project**\n\n### **5️⃣ Open the Project in an IDE**\n- **NetBeans**: Click `File \u003e Open Project`, then select the extracted project folder.  \n- **IntelliJ IDEA**: Click `Open` and select the project directory.  \n\n### **6️⃣ Configure Database Credentials**\nEdit **`DatabaseHelper.java`** file and update MySQL credentials:\n```java\nprivate static final String URL = \"jdbc:mysql://localhost:3306/student_management\";\nprivate static final String USER = \"your_mysql_username\";\nprivate static final String PASSWORD = \"your_mysql_password\";\n```\n\n### **7️⃣ Run the Project**\n- Click the **\"Run\" button** in NetBeans/IntelliJ.  \n\n---\n\n## **🚀 Features of the Student Management System**\n✔️ **Add New Students**  \n✔️ **Update Student Details**  \n✔️ **Delete Students**  \n✔️ **View Student List**  \n✔️ **Interactive GUI using Java Swing**  \n✔️ **MySQL Database Integration**  \n\n---\n\n## **🛠️ Troubleshooting**\n### **1️⃣ Database Connection Issues?**\n- Ensure MySQL is **running** (`mysql -u root -p` to check).  \n- Verify MySQL **username and password** in `DatabaseHelper.java`.  \n\n### **2️⃣ MySQL Driver Not Found?**\n- Download the **MySQL Connector JAR** from [here](https://dev.mysql.com/downloads/connector/j/).  \n- Add it to the classpath in your IDE settings.  \n\n### **3️⃣ GUI Not Opening?**\n- Make sure **Java Swing is supported** (JDK 8+ recommended).  \n\n---\n\n### **Screenshots** 📸  \n![image](https://github.com/user-attachments/assets/b4c59064-83e8-44cb-be17-873d75e6acb8)\n![image](https://github.com/user-attachments/assets/e8e22801-6de0-4f5b-a943-d439de9313b1)\n\n---\n\n## Tags\n#Java #Swing #JDBC #StudentManagement #CRUD #MySQL #JavaProject\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabishekraja01%2Fstudent-management-system-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabishekraja01%2Fstudent-management-system-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabishekraja01%2Fstudent-management-system-java/lists"}