ShareAcademia is a Java-based application designed for managing student academic details, including attendance and GPA calculations. This project includes a graphical user interface (GUI) built with Java Swing and connects to a MySQL database to store and retrieve student information.
- Student Details Management: View and manage details like ID, name, age, GPA, contact information, department, and address.
- Attendance Tracking: Manage attendance records for students.
- GPA Calculator: Calculate GPA based on user-provided grades and credits.
- Java Development Kit (JDK): Ensure that you have JDK 8 or above installed.
- MySQL: Install MySQL and set up the necessary database as outlined below.
- MySQL Connector/J: This JDBC driver is required for connecting Java to MySQL.
-
Clone the Repository:
git clone https://github.com/yourusername/ShareAcademia.git cd ShareAcademia
-
Database Setup:
- Execute the SQL commands in
SQL Code.txt
to create the database and tables required by the application. - Open MySQL and run:
SOURCE path/to/SQL Code.txt;
- Execute the SQL commands in
-
Configure Database Credentials:
- Update the MySQL credentials in
main.java
with your own:private static final String USER = "your_mysql_username"; private static final String PASSWORD = "your_mysql_password";
- Update the MySQL credentials in
-
Install MySQL Connector/J:
- Download MySQL Connector/J and add it to your project’s classpath.
-
Compile and Run:
- Compile the Java files:
javac main.java
- Run the application:
java main
- Compile the Java files:
main.java
: The main application file containing the core logic and GUI setup.SQL Code.txt
: SQL script for creating the required database and table (studentDetailsDB
andstudentDetails
table).
javax.swing
java.awt
java.sql
mysql:mysql-connector-java:8.0.33
(or compatible version)
- Real-Time Alerts: Add notifications for students with low attendance.
- Improved GPA Calculation: Extend support for different grading scales.
- Web Interface: Add a web version of ShareAcademia using Java Spring.
If you’d like to contribute, please fork the repository and make changes as you’d like. Pull requests are welcome!