Skip to content
realwarpPublic

About

...

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

LocalHelp

LocalHelp is a role-based local professional-services search and booking application built with Java 21, Jakarta Servlet 6, JSP, JDBC, MySQL 8.4+, and Tomcat 10.1. It intentionally uses no Maven, Gradle, JavaScript framework, or external authentication service.

Setup

  1. Install JDK 21, Tomcat 10.1, MySQL, and MySQL Connector/J.
  2. Copy mysql-connector-j-*.jar into WebContent\WEB-INF\lib.
  3. Run database/database.sql in MySQL.
  4. Configure LOCALHELP_DB_URL, LOCALHELP_DB_USER, and LOCALHELP_DB_PASSWORD as environment variables or Java system properties. The default URL targets a local localhelp_db database. Do not rely on a blank-password root account: MySQL commonly rejects it with using password: NO.
  5. Set the TOMCAT path in build.bat and deploy.bat, then run build.bat or deploy.bat.

Roles and workflows

Customers register, search by category and location, filter urgent availability, view provider profiles, create or cancel bookings, and review booking history. Providers manage their profile and accept, reject, or complete customer requests. Administrators can activate or deactivate provider listings.

Passwords are stored using PBKDF2-HMAC-SHA256 through PasswordUtil; the schema does not use plaintext passwords. The administrator setup notes in database/database.sql explain how to create a password hash. All database writes use prepared statements, sessions are invalidated on login, and protected routes are enforced by AuthFilter.

Configuration

The database connection reads these environment variables or matching Java system properties:

  • LOCALHELP_DB_URL
  • LOCALHELP_DB_USER
  • LOCALHELP_DB_PASSWORD

The default URL is:

jdbc:mysql://localhost:3306/localhelp_db?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true

On Windows, set credentials in the same process that starts Tomcat, before running startup.bat:

set "LOCALHELP_DB_USER=localhelp_app"
set "LOCALHELP_DB_PASSWORD=choose-a-local-password"

Create the application account once from a MySQL administrator session:

CREATE USER 'localhelp_app'@'localhost' IDENTIFIED BY 'choose-a-local-password';
GRANT ALL PRIVILEGES ON localhelp_db.* TO 'localhelp_app'@'localhost';
FLUSH PRIVILEGES;

If the site reports that the database was not found, run database/database.sql before starting Tomcat. If it reports authentication failed, verify that the variables are visible to the Tomcat process rather than only to a different terminal.

Project structure

  • src/com/localhelp: servlet, filter, and utility code
  • WebContent: JSP views, CSS, deployment descriptor, and Connector/J
  • database/database.sql: schema, indexes, categories, and administrator setup notes
  • build.bat: compiles Java sources into WebContent\WEB-INF\classes
  • deploy.bat: builds, copies the application to Tomcat, and starts Tomcat

The application is deployed at http://localhost:8080/LocalHelp/.

About

...

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages