A professional, extensible job portal web application built with Java Servlets, JSP, and a modular backend architecture.
This repository contains a fullstack job portal application. The backend is a Java web application (Servlets, DAOs, models) with JSP views for server-rendered pages. The project is organized for maintainability, with clear separation between controllers, data access objects (DAO), models, and utilities.
- Job posting and management (employers)
- Job search, applications, and CV uploads (job seekers)
- Employer and admin dashboards for approvals and user management
- Password reset and authentication flows (including Google login integration)
- CV templates management and application tracking
- System settings configurable via admin UI
- Backend: Java (Servlets), JSP
- Persistence: JDBC (DB connection utilities) — replaceable with JPA/ORM if needed
- Server: Apache Tomcat or any Servlet 3.x compatible container
- Build: Maven (recommended) or Gradle
High-level layout:
src/main/java/controllers/— servlet controllers (grouped by feature)src/main/java/dao/— DAO interfaces and implementationssrc/main/java/models/— domain model classessrc/main/java/util/— utilities (DB connection, config, email, password)src/main/webapp/— JSP views, assets, and web resources
For detailed backend/frontend specifics see:
- Java 11+ (or the project's configured JDK)
- Maven 3.6+ (or Gradle if preferred)
- A Servlet container such as Apache Tomcat 9+
- A relational database (MySQL, PostgreSQL, etc.) and JDBC driver
- Create a database for the application and run the provided SQL (if any).
- Update database and mail settings in the configuration loader or properties file used by
ConfigLoader/DBConnection. - Required environment variables (example names — confirm with existing config files):
DB_URL— JDBC URLDB_USER— Database userDB_PASSWORD— Database passwordMAIL_HOST,MAIL_USER,MAIL_PASSWORD— SMTP settings for outgoing email
Check src/main/java/util/ConfigLoader.java for the exact property names and loading behavior.
- Build the WAR:
mvn clean package
- Deploy
target/*.warto your Tomcatwebapps/folder or run using the Tomcat Maven plugin:
mvn tomcat7:run
- Open the application at
http://localhost:8080/<app-context>.
If using an IDE (IntelliJ IDEA, Eclipse), import as a Maven project and run with an integrated Tomcat server.
If unit or integration tests exist, run:
mvn test
Add test configuration and CI integration as needed.
- Build a production WAR with
mvn clean package -Pproduction(if profiles are defined). - Deploy onto a managed Tomcat instance, or containerize with Docker (recommended for production).
Quick Docker example (optional):
- Create a Dockerfile that uses an OpenJDK + Tomcat base image.
- Copy the WAR into the Tomcat webapps folder and expose port 8080.
- Fork the repository and open pull requests against the
mainbranch. - Follow the existing code style for Java and JSP.
- Add tests for any new business logic and update documentation when behavior changes.
- Backend README: README-backend.md
- Frontend README: README-frontend.md
This project does not include a license file. Add a LICENSE if you wish to open-source the code (e.g., MIT, Apache-2.0).
For questions or help, open an issue on the repository or contact the project maintainers listed in the project metadata.