Skip to content

samuelabera21/java-Fullstack-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Fullstack Project

A professional, extensible job portal web application built with Java Servlets, JSP, and a modular backend architecture.

Project Overview

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.

Key Features

  • 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

Tech Stack

  • 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

Repository Structure

High-level layout:

  • src/main/java/controllers/ — servlet controllers (grouped by feature)
  • src/main/java/dao/ — DAO interfaces and implementations
  • src/main/java/models/ — domain model classes
  • src/main/java/util/ — utilities (DB connection, config, email, password)
  • src/main/webapp/ — JSP views, assets, and web resources

For detailed backend/frontend specifics see:

Prerequisites

  • 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

Configuration

  1. Create a database for the application and run the provided SQL (if any).
  2. Update database and mail settings in the configuration loader or properties file used by ConfigLoader/DBConnection.
  3. Required environment variables (example names — confirm with existing config files):
    • DB_URL — JDBC URL
    • DB_USER — Database user
    • DB_PASSWORD — Database password
    • MAIL_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.

Running Locally (Maven + Tomcat)

  1. Build the WAR:
mvn clean package
  1. Deploy target/*.war to your Tomcat webapps/ folder or run using the Tomcat Maven plugin:
mvn tomcat7:run
  1. 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.

Running Tests

If unit or integration tests exist, run:

mvn test

Add test configuration and CI integration as needed.

Deployment

  • 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):

  1. Create a Dockerfile that uses an OpenJDK + Tomcat base image.
  2. Copy the WAR into the Tomcat webapps folder and expose port 8080.

Contribution Guidelines

  • Fork the repository and open pull requests against the main branch.
  • Follow the existing code style for Java and JSP.
  • Add tests for any new business logic and update documentation when behavior changes.

Useful Links

License

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).

Contact

For questions or help, open an issue on the repository or contact the project maintainers listed in the project metadata.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors