A desktop application for managing student, teacher, and admin records in an educational institution. Built with Java Swing for the GUI and MySQL for the backend database.
- Features
- Project Structure
- Database Setup
- Dependencies
- Build & Run Instructions
- Usage Guide
- Troubleshooting
- Contributing
- Author
- License
- User Authentication: Secure login for admins.
- Student Management: Add, update, search, and delete student records.
- Admin Management: Add and view admin users.
- Teacher Management: View teacher records.
- Dashboard: Centralized home screen for navigation.
- About/Team: View information about the development team.
- Modern UI: Built with Java Swing, featuring a clean and intuitive interface.
Student-Registration/
│
├── student/
│ ├── src/
│ │ ├── Home.java # Main dashboard after login
│ │ ├── login.java # Login screen
│ │ ├── student.java # Student record management (CRUD)
│ │ ├── addStudent.java # Add new student
│ │ ├── ShowStudent.java # View all students
│ │ ├── admin.java # Add new admin
│ │ ├── showAdmin.java # View all admins
│ │ ├── showTeacher.java # View all teachers
│ │ ├── about.java # About dialog
│ │ ├── showAbout.java # Team/about info from DB
│ │ ├── databaseConnection.java# MySQL connection utility
│ │ └── ... (form files) # GUI designer files
│ ├── build.xml # Ant build script
│ ├── manifest.mf # JAR manifest
│ └── ... (other build folders)
├── README.md # This file
└── ...
- Install MySQL and create a database named
student
. - Create the required tables (example schemas):
CREATE DATABASE student;
USE student;
CREATE TABLE admin (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
mail VARCHAR(100) UNIQUE,
password VARCHAR(100)
);
CREATE TABLE student (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
fatherName VARCHAR(100),
city VARCHAR(100),
blood VARCHAR(5),
phone VARCHAR(15),
stdClass VARCHAR(10)
);
CREATE TABLE teachers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
subject VARCHAR(100),
phone VARCHAR(15)
);
CREATE TABLE team (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
role VARCHAR(100),
email VARCHAR(100)
);
- Set MySQL credentials
- Default in code:
- User:
root
- Password: (empty)
- User:
- To change, edit
student/src/databaseConnection.java
:final static String USER ="root"; final static String PASS ="";
- Default in code:
- Java JDK 8 or higher
- MySQL Server
- MySQL JDBC Driver (
mysql-connector-java
) - DbUtils Library (
net.proteanit.sql.DbUtils
)- Download from: DbUtils GitHub
- Add the JAR to your project's classpath.
- Open the project in NetBeans.
- Ensure the MySQL JDBC driver and DbUtils JAR are added to the project libraries.
- Build the project (
Clean and Build
). - Run the project (
Run
).
- Navigate to the
student
directory. - Place the required JARs (
mysql-connector-java
,DbUtils
) in thelib/
folder (create if needed). - Edit
build.xml
if you need to add classpath entries for the JARs. - Run:
ant clean ant build ant run
- After building, run the JAR (ensure dependencies are in the classpath):
Replace
java -cp "dist/student.jar;lib/*" MainClass
MainClass
with the actual main class (e.g.,login
orHome
).
- Start the application.
- Enter admin email and password (must exist in the
admin
table).
- Add Student: Opens form to add a new student.
- Show Students: View all student records.
- Add Admin: Register a new admin user.
- Show Admin: View all admin users.
- Show Teachers: View all teacher records.
- About/Team: View information about the development team.
- Add: Fill in student details and submit.
- Update/Search/Delete: Use the student management screen to search by ID and perform actions.
- Add Admin: Enter name, email, and password.
- Show Admin: View all registered admins.
- Show Teachers: View all teacher records.
- About: Shows project or author information.
- Team: Shows team members from the
team
table.
- Database Connection Errors:
- Ensure MySQL is running and credentials in
databaseConnection.java
are correct. - Ensure required tables exist.
- Ensure MySQL is running and credentials in
- Missing Libraries:
- Add
mysql-connector-java
andDbUtils
JARs to your classpath.
- Add
- UI Issues:
- Use NetBeans for best compatibility with
.form
files.
- Use NetBeans for best compatibility with
- Fork the repository.
- Create your feature branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Create a new Pull Request.
- ANKIT RAJ - Primary developer and maintainer
(Specify your license here, e.g., MIT, GPL, etc.)
Note:
- This project uses Java Swing and is best run on a desktop environment.
- For any issues, please open an issue in the repository or contact the author.