The Student Admission System is a Java-based desktop application designed to manage student admissions for Government Polytechnic, Jintur. It allows users to register, log in, fill out admission forms, and manage academic and personal details. The system includes features like user authentication, form submission with photo and signature upload, and database storage using SQLite. This project was developed as a submission-ready application with a modern user interface, responsive design, and essential validation features.
User Registration: Register new users with a valid Gmail address and mobile number.
User Login: Authenticate users with username and password.
Admission Form: Fill out detailed admission forms including personal details, address, academic records, and undertakings.
Photo and Signature Upload: Upload a photo and draw a signature for submission.
Database Management: Store data in an SQLite database.
Responsive Design: Adjusts to window size changes without horizontal scrolling.
Validation: Ensures all mandatory fields are filled and data is in the correct format.
Java Development Kit (JDK): Version 8 or higher (e.g., JDK 1.8.0_371).
SQLite JDBC Driver: Version 3.42.0 (sqlite-jdbc-3.42.0.jar).
JCalendar Library: Version 1.4 (jcalendar-1.4.jar) for date picker functionality.
Download and install the JDK from Oracle's official website.
Set the JAVA_HOME environment variable:
Windows: Right-click "This PC" > Properties > Advanced system settings > Environment Variables. Add JAVA_HOME with value C:\Program Files\Java\jdk1.8.0_371 (adjust path as needed). Add %JAVA_HOME%\bin to the Path variable.
Linux/macOS: Open terminal and edit ~/.bashrc or ~/.zshrc: export JAVA_HOME=/path/to/java/jdk export PATH=JAVA_HOME/bin:PATH
Reload the configuration: source ~/.bashrc
Verify installation: java -version
SQLite JDBC Driver: Download sqlite-jdbc-3.42.0.jar from Maven Repository or GitHub. Save it to a lib folder in your project directory.
JCalendar Library: Download jcalendar-1.4.jar from JCalendar Website or a similar source. Save it to the same lib folder.
Create a project directory (e.g., StudentAdmissionSystem). Copy all .java files (StudentAdmissionSystem.java, RegistrationFrame.java, AdmissionForm.java, WelcomeFrame.java, AdminDashboard.java, DatabaseSetup.java) into the project directory. Create a lib folder inside the project directory and place sqlite-jdbc-3.42.0.jar and jcalendar-1.4.jar there.
Open a terminal and navigate to the project directory.
Compile the project: javac -cp ".;lib/sqlite-jdbc-3.42.0.jar;lib/jcalendar-1.4.jar" *.java
Use : instead of ; on Linux/macOS.
Run the application: java -cp ".;lib/sqlite-jdbc-3.42.0.jar;lib/jcalendar-1.4.jar" StudentAdmissionSystem
The application will create a login.db file in the project directory for database storage.
Initial Setup: Run DatabaseSetup.java first to initialize the SQLite database (if not already done).
Login: Use default admin credentials: admin/admin123. Register a new user with a valid Gmail email and 10-digit mobile number starting with +91.
Admission Form: Log in and access the admission form. Fill in personal details, select a date of birth using the calendar, and enter academic details (e.g., year of passing, exam seat number, marks). Upload a photo and draw a signature. Submit the form after agreeing to the undertaking.
Navigation: Use the "Back to Login" button on the registration page to return to the login screen.
StudentAdmissionSystem/
├── StudentAdmissionSystem.java
├── RegistrationFrame.java
├── AdmissionForm.java
├── WelcomeFrame.java
├── AdminDashboard.java
├── DatabaseSetup.java
├── lib/
│ ├── sqlite-jdbc-3.42.0.jar
│ └── jcalendar-1.4.jar
├── login.db (generated after running)
"ClassNotFoundException: org.sqlite.JDBC": Ensure sqlite-jdbc-3.42.0.jar is in the classpath.
"NoClassDefFoundError: com/toedter/calendar/JDateChooser": Verify jcalendar-1.4.jar is included.
Permission Issues: On Linux/macOS, run chmod +r lib/*.jar to grant read permissions.
SQLite JDBC Driver by xerial (https://github.com/xerial/sqlite-jdbc) JCalendar by Kai Toedter (https://toedter.com/jcalendar/)