A comprehensive job portal platform built with Java, JSP, and MySQL that connects job seekers with employers. This full-stack application provides an intuitive interface for job searching, application management, and administrative controls.
- Create and manage professional profiles
- Search jobs using advanced filters (location, salary, experience level)
- Track application status in real-time
- Save favorite job listings
- Receive email notifications for application updates
- Comprehensive dashboard with analytics
- User management system
- Job posting moderation tools
- Generate reports on platform usage
- Manage company profiles and verifications
- Java - Core application logic and business rules
- JSP (JavaServer Pages) - Dynamic web page generation
- Servlets - Handle HTTP requests and responses
- MySQL - Data persistence and management
- HTML5 - Structure and content
- CSS3 - Styling and animations
- Flexbox for flexible layouts
- Grid system for complex arrangements
- Media queries for responsiveness
- JavaScript - Interactive features and form validation
- JDBC - Database connectivity
- jQuery - DOM manipulation and AJAX calls
- Bootstrap - Responsive design framework
- Font Awesome - Icons and visual elements
- JDK 8 or higher
- MySQL 5.7+
- Apache Tomcat 9.0
- Maven (for dependency management)
CREATE DATABASE job_portal;
USE job_portal;
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) NOT NULL,
role VARCHAR(20) DEFAULT 'USER',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE jobs (
job_id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
company VARCHAR(100) NOT NULL,
location VARCHAR(100),
description TEXT,
requirements TEXT,
salary_range VARCHAR(50),
posted_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
- Clone the repository
git clone https://github.com/smash-19/job-folio.git
cd job-folio
- Configure database connection in
src/main/resources/db.properties
:
db.url=jdbc:mysql://localhost:3306/job_portal
db.username=your_username
db.password=your_password
db.driver=com.mysql.cj.jdbc.Driver
- Deploy to Tomcat
- Build the WAR file using Maven
- Deploy to Tomcat's webapps directory
job-portal/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── controllers/
│ │ │ ├── models/
│ │ │ ├── dao/
│ │ │ └── utils/
│ │ ├── webapp/
│ │ │ ├── WEB-INF/
│ │ │ ├── css/
│ │ │ ├── js/
│ │ │ └── views/
│ │ └── resources/
│ └── test/
├── pom.xml
└── README.md
// Example API endpoint for user registration
@WebServlet("/register")
public class RegisterServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
UserDAO userDao = new UserDAO();
boolean success = userDao.registerUser(username, password, email);
if (success) {
response.sendRedirect("login.jsp");
} else {
request.setAttribute("error", "Registration failed");
request.getRequestDispatcher("register.jsp")
.forward(request, response);
}
}
}
- Session management
- Input validation and sanitization
- CSRF protection
- Prepared statements for SQL queries
- Implement OAuth 2.0 authentication
- Add resume parsing functionality
- Integrate real-time chat between employers and candidates
- Implement advanced search with ML recommendations
- Add mobile application support
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Your Name - [email protected] Project Link: https://github.com/smash-19/job-folio