โโโโ โโโ โโโโโโ โโโ โโโโโโ โโโโโโโโโโ โโโ โโโโโโโโ โโโโโโโ โโโโโโโ โโโ โโโ โโโโโโโ
โโโโโ โโโโโโโโโโโโโโ โโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ
โโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโ โโโโโโโโโโโโโโ โโโ
โโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโ โโโโโโโโโโโโโโ โโโ
โโโ โโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโ โโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ
โโโ โโโโโโโโ โโโ โโโโโโโ โโโ โโโโโโ โโโโโโ โโโโโโโโ โโโโโโโ โโโโโโโ โโโ โโโ โโโโโโโ
NaukriSodho (Hindi/Gujarati) โ "เคเฅเคเฅ เค เคชเคจเฅ เคจเฅเคเคฐเฅ" โ "Find Your Job"
NaukriSodho is a dynamic, full-stack Job Portal Web Application crafted entirely in Java โ no frameworks, no shortcuts. Built from the ground up using raw Java Servlets, JSP, and JDBC, it demonstrates what pure Java Enterprise development looks like in action.
The portal serves two worlds simultaneously โ job seekers who want to discover and apply for opportunities, and employers who want to post openings and scout talent. Both experiences are handled through a clean, servlet-driven backend wired to a relational MySQL database.
| ๐ฏ For Candidates | ๐ข For Employers |
|---|---|
| Search, filter & apply to jobs | Post jobs & manage listings |
| Build a professional profile | Review applicant profiles |
| Track all your applications | View who applied to your jobs |
| Edit your info anytime | Full company dashboard |
## ๐ Platform Capabilities
+-------------------------------------------------------------------+
| PLATFORM CAPABILITIES |
+---------------------------+---------------------------------------+
| ๐ Authentication | Role-aware login & registration |
| ๐ค Candidate Profile | Create, view, and edit your profile |
| ๐ Job Listings | Dynamic job board with live data |
| ๐จ Applications | Apply with one click |
| ๐ Application Tracker | Know the status of every application |
| ๐ Job Posting | Employers post and manage listings |
| ๐ฅ Applicant Review | Employers browse who applied |
| ๐ Session Control | Secure logout & session protection |
+---------------------------+---------------------------------------+
NaukriSodho uses a Servlet-Centric Layered Architecture โ Servlets act as the brain, JSP handles display, and JDBC manages all data operations. No frameworks. Pure Java.
+------------------------------------------------------------------+
| APPLICATION ARCHITECTURE |
+------------------------------------------------------------------+
๐ Browser
|
| HTTP Request
v
+--------------------------------------------------------------+
| Java Servlet Layer |
| |
| +--------------+ +---------------+ |
| | LoginServlet | | ApplyServlet | |
| | PostJobServ. | | RegisterServ. | |
| | GetJobsServ. | | UpdateProfServ| |
| +--------------+ +---------------+ |
+---------------------------+----------------------------------+
|
| JDBC Calls
v
+--------------------------------------------------------------+
| DBConnection.java |
| (Centralized DB Utility Class) |
+---------------------------+----------------------------------+
|
| SQL Queries
v
+--------------------------------------------------------------+
| MySQL Database |
| |
| candidates | employers | jobs | applications | ... |
+---------------------------+----------------------------------+
|
| Data returned to Servlet
v
+--------------------------------------------------------------+
| JSP Layer |
| |
| candidate_dashboard.jsp |
| employer_dashboard.jsp |
| my_applications.jsp |
+---------------------------+----------------------------------+
|
| HTML Response
v
๐ Browser
(Page Rendered)
| Servlet | What it does |
|---|---|
LoginServlet |
Authenticates users, creates HTTP session |
LogoutServlet |
Destroys session, redirects to home |
RegisterServlet |
Registers new candidate or employer |
RegisterWithProfileServlet |
Registration + profile creation in one flow |
PostJobServlet |
Employer posts a new job listing |
GetJobsServlet |
Fetches all available job listings |
GetCandidateJobsServlet |
Personalized job feed for candidates |
ApplyServlet |
Candidate applies to a job |
UpdateProfileServlet |
Updates candidate profile data |
NaukriSodhoPortal/
โ
โโโ ๐ .gitignore # Git ignore rules
โโโ ๐ build.xml # Apache Ant build script
โโโ ๐ผ๏ธ banner.png # Project banner image
โ
โโโ ๐ nbproject/ # NetBeans IDE project config
โ โโโ ๐ project.xml
โ โโโ ๐ project.properties # Build paths, Tomcat & classpath config
โ
โโโ ๐ build/ # Compiled output (auto-generated by Ant)
โ โโโ ๐ web/
โ โโโ ๐ WEB-INF/classes/ # Compiled .class files live here
โ
โโโ ๐ src/
โ โโโ ๐ conf/ # App configuration files
โ โโโ ๐ java/com/naukri/
โ โ
โ โโโ ๐ db/
โ โ โโโ ๐ DBConnection.java # Single-point DB connection handler
โ โ
โ โโโ ๐ servlets/ # All business logic lives here
โ โโโ โ๏ธ ApplyServlet.java
โ โโโ โ๏ธ GetCandidateJobsServlet.java
โ โโโ โ๏ธ GetJobsServlet.java
โ โโโ โ๏ธ LoginServlet.java
โ โโโ โ๏ธ LogoutServlet.java
โ โโโ โ๏ธ PostJobServlet.java
โ โโโ โ๏ธ RegisterServlet.java
โ โโโ โ๏ธ RegisterWithProfileServlet.java
โ โโโ โ๏ธ UpdateProfileServlet.java
โ
โโโ ๐ web/ # All UI pages live here
โ โโโ ๐ WEB-INF/
โ โ โโโ ๐ web.xml # Servlet mappings & app config
โ โ
โ โโโ ๐ index.html # Landing page
โ โโโ ๐ candidate_dashboard.jsp # Candidate home screen
โ โโโ ๐ candidate_dashboard_with_matching.jsp
โ โโโ ๐ employer_dashboard.jsp # Employer control panel
โ โโโ ๐ค profile.jsp # View profile
โ โโโ โ๏ธ edit_profile.jsp # Edit profile form
โ โโโ ๐ register.jsp # Multi-step registration form
โ โโโ ๐ register_profile.jsp # Profile registration form
โ โโโ ๐จ my_applications.jsp # Candidate's applications list
โ โโโ ๐ผ my_jobs.jsp # Employer's posted jobs
โ โโโ ๐ฅ view_applicants.jsp # Employer views applicants
โ
โโโ ๐ Sql.sql # MySQL schema + seed data
โ Clone the repository
git clone https://github.com/Het-Mengar66/NaukriSodhoPortal.git
cd NaukriSodhoPortalโก Set up the MySQL database
CREATE DATABASE naukri_portal;
USE naukri_portal;
SOURCE Sql.sql;โข Update your database credentials
Open โ src/java/com/naukri/db/DBConnection.java and update:
private static final String DB_URL = "jdbc:mysql://localhost:3306/naukri_portal";
private static final String DB_USER = "your_mysql_username";
private static final String DB_PASS = "your_mysql_password";โฃ Deploy & Run
1. Open project in NetBeans
2. Add Apache Tomcat 10.1 as your server โ Tools โ Servers
3. Add mysql-connector-j-9.6.0.jar to your Libraries
4. Build the project โ Shift + F11
5. Run / Deploy โ F6
Then open your browser and visit:
๐ http://localhost:8080/NaukriSodhoPortal
โโโโโโโโโโโโโโโโโโโ
โ index.html โ
โ (Landing Page) โ
โโโโโโโโโโฌโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโ
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ I'm a Candidate โ โ I'm an Employer โ
โโโโโโโโโโโโฌโโโโโโโโโโโ โโโโโโโโโโโโโฌโโโโโโโโโโโโโ
โ โ
โผ โผ
Register + Profile Register Company
โ โ
โผ โผ
Candidate Dashboard Employer Dashboard
โ โ
โโโโโโโโโดโโโโโโโโ โโโโโโโโโโดโโโโโโโโโ
โผ โผ โผ โผ
Browse Jobs My Profile Post Jobs View Applicants
โ โ
โผ โผ
Apply to Job Manage Listings
โ
โผ
Track in My Applications
- ๐ Smart Job Filters โ Search by location, salary range, experience, and skills
- ๐ Resume Upload โ PDF resume support for candidates
- ๐ง Email Alerts โ Notify candidates when application status changes
- ๐ฌ In-app Messaging โ Direct chat between employers and shortlisted candidates
- ๐ค Job Matching Engine โ Auto-suggest jobs based on candidate's profile keywords
- ๐ Employer Analytics โ Views, applications, and engagement metrics per job post
- ๐ REST API Layer โ Expose endpoints to eventually power a mobile app
- ๐จ UI Revamp โ Modern responsive design with Bootstrap 5
Contributions, issues, and feature requests are genuinely welcome.
# 1. Fork this repo
# 2. Create your branch
git checkout -b feature/your-feature-name
# 3. Commit your work
git commit -m "feat: add your feature description"
# 4. Push
git push origin feature/your-feature-name
# 5. Open a Pull Request ๐