Full-Stack Java Web Application

Plan Your Dream Trip with WanderCraft

A personalized travel itinerary planner that lets you discover amazing destinations across continents, create custom itineraries, and manage your travel plans.

Application Screenshots

WanderCraft Homepage showing hero section and destination gallery

Homepage

Welcome page containing the hero details, travel video, destination grids, and essential travel tips.

WanderCraft Login page with username and password fields

Login Page

Clean user authentication screen supporting username, password, recovery, and sign-up navigation.

WanderCraft Dashboard showing saved travel itineraries

User Dashboard

Personal profile dashboard where users can view, update, delete, and add new itineraries.

WanderCraft Itinerary Planner showing continent selection cards

Itinerary Planner

Destination wizard that helps users navigate different continents and countries to plan their trips.

Key Features

Secure Authentication

User registration and login features integrated with BCrypt password hashing and custom JWT cookie-based session filters.

Destination Explorer

Interactive pages containing curated travel plans, local activities, and maps across popular countries in Asia and Europe.

Full CRUD Management

Add new travel plans, edit activities, update destinations, or delete previous itineraries dynamically from your profile.

Responsive Grid Layouts

Adaptable CSS Grid structure designed to work smoothly on mobile displays, tablets, and desktop setups.

Password Recovery Flow

Account verification using security questions and answers to allow seamless password updates when forgotten.

Dockerized Architecture

Pre-configured Tomcat Docker container structure ensuring quick server initialization and hosting consistency.

Architecture & System Flow

Itinerary Creation & Database Flow

How personalized travel itineraries are created and stored

1
Explore Destinations

User browses continents and selects a target country and city.

2
Customize Plan

User selects specific activities from the checklist and submits the form.

3
Commit to DB

Servlet processes request and saves the itinerary in the MySQL database.

Secure Authentication Flow

How users are verified and sessions are managed

1
Submit Credentials

User submits username and password from the login interface.

2
Verify BCrypt Hash

Servlet fetches password hash from MySQL and checks it against submission.

3
Issue JWT Cookie

Successful match triggers JWT creation, stored in HTTP-only browser cookie.

Technology Stack

Java & Servlets

Controller layer handling business operations, authentication, and HTTP request routing.

JSP & JSTL

Server-side rendering templates utilizing standard JSTL core tags for dynamic content presentation.

MySQL Database

Relational storage containing user details, security profiles, and custom itineraries.

Bootstrap 5

Styling framework powering the original UI components, forms, and layout responsive attributes.

Maven Build Tool

Dependency handling and compilation framework packaging target classes into deployment WAR files.

Docker Containers

Tomcat environment wrapper ensuring quick setups across development and target cloud hosts.