Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

🏫 InEdu — School Registration System

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.


📋 Table of Contents


📌 About the Project

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.


✨ Features

  • 🏠 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

🖥️ Tech Stack

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

📁 Project Structure

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

⚙️ Prerequisites

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

🛠️ Setup and Installation

1. Clone the Repository

git clone https://github.com/udhaydeep0912/InEdu.git

2. Open in NetBeans

  • Open NetBeans IDE
  • Go to File → Open Project
  • Select the cloned InEdu folder
  • Click Open

3. Add JAR Files

  • 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.jar
    • activation-1.1.1.jar
    • mysql-connector-j-8.0.33.jar
  • Click OK

🗄️ Database Setup

1. Start XAMPP

  • Open XAMPP Control Panel
  • Click Start next to MySQL

2. Open phpMyAdmin

http://localhost/phpmyadmin

3. Create Database

  • Click New on the left sidebar
  • Name it: userregistration
  • Click Create

4. Create Table

  • 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`)
);

▶️ How to Run

  1. Make sure MySQL is running in XAMPP
  2. Open the project in NetBeans
  3. Right-click project → Properties → Run
  4. Set Main Class to registration.HOMEPAGE
  5. Press F6 or click the green Run ▶ button

Application Flow:

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

👨‍💻 Author

Udhay Deep

  • 🎓 B.Tech Computer Science Engineering — 4th Semester
  • 💻 GitHub: @udhaydeep0912

📄 License

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!

About

A Java Swing desktop application for school user management featuring registration, login, forgot password with OTP email verification, and password reset. Built with Java, MySQL, and JavaMail API.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages