A desktop-based School Registration and Authentication System built using Java Swing and MySQL. Developed as an academic project to demonstrate GUI development, database connectivity, and email-based password recovery in Java.
- About the Project
- Features
- Screenshots
- Tech Stack
- Project Structure
- Prerequisites
- Setup and Installation
- Database Setup
- How to Run
- Author
InEdu is a Java-based desktop application that provides a complete user registration and login system for a school environment. It includes secure login, new user registration, and a forgot password flow using OTP (One Time Password) sent via email.
This project was built using NetBeans IDE with Java Swing for the GUI and MySQL as the backend database.
- 🏠 Homepage — Entry point with navigation to Register or Login
- 📝 User Registration — Register with full name, address, gender, email, phone, username and password
- 🔐 User Login — Secure login with username and password validation
- 📧 Forgot Password — OTP sent to registered email via Gmail SMTP
- 🔄 Password Reset — Reset password after OTP verification
- 🔁 Smooth Navigation — Seamless switching between all screens
| Technology | Usage |
|---|---|
| Java (JDK 8+) | Core programming language |
| Java Swing | GUI / Desktop interface |
| JDBC | Database connectivity |
| MySQL | Backend database |
| JavaMail API | Email OTP sending via Gmail SMTP |
| NetBeans IDE | Development environment |
| XAMPP | Local MySQL server |
InEdu/
├── src/
│ └── registration/
│ ├── HOMEPAGE.java # Main entry screen
│ ├── REG.java # User registration form
│ ├── LOGIN.java # Login form
│ ├── FORGOTPASSWORD.java # OTP email sender
│ └── RESET.java # Password reset form
├── lib/
│ ├── jakarta.mail-2.0.1.jar # JavaMail API
│ ├── activation-1.1.1.jar # JavaMail dependency
│ └── mysql-connector-j-8.0.33.jar # MySQL JDBC driver
└── README.md
Make sure you have the following installed before running the project:
- ✅ JDK 8 or above
- ✅ NetBeans IDE
- ✅ XAMPP (for MySQL)
- ✅ JavaMail JAR —
jakarta.mail-2.0.1.jar - ✅ Activation JAR —
activation-1.1.1.jar - ✅ MySQL Connector JAR —
mysql-connector-j-8.0.33.jar
git clone https://github.com/udhaydeep0912/InEdu.git
- Open NetBeans IDE
- Go to File → Open Project
- Select the cloned
InEdufolder - Click Open
- Right-click the project → Properties
- Go to Libraries → Classpath → click
+→ Add JAR/Folder - Add all 3 JARs from the
lib/folder:jakarta.mail-2.0.1.jaractivation-1.1.1.jarmysql-connector-j-8.0.33.jar
- Click OK
- Open XAMPP Control Panel
- Click Start next to MySQL
http://localhost/phpmyadmin
- Click New on the left sidebar
- Name it:
userregistration - Click Create
- Click on
userregistration→ click SQL tab - Paste and run the following:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Fname` varchar(50) NOT NULL,
`Lname` varchar(50) NOT NULL,
`Address` varchar(100) NOT NULL,
`Gender` varchar(10) NOT NULL,
`Email` varchar(100) NOT NULL,
`Phone` varchar(15) NOT NULL,
`Username` varchar(50) NOT NULL,
`Password` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
);- Make sure MySQL is running in XAMPP
- Open the project in NetBeans
- Right-click project → Properties → Run
- Set Main Class to
registration.HOMEPAGE - Press F6 or click the green Run ▶ button
HOMEPAGE
├── Register → Fill form → Submit → Redirects to Login
└── Login
├── Correct credentials → Login Successful
└── Forgot Password?
├── Enter Email → OTP sent to email
├── Enter OTP → Verify
└── Reset Password → Redirects to Login
Udhay Deep
- 🎓 B.Tech Computer Science Engineering — 4th Semester
- 💻 GitHub: @udhaydeep0912
This project is open source and available for academic and learning purposes.
⭐ If you found this project helpful, consider giving it a star on GitHub!