Skip to content

ArthurStep/TouristBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✈️ TouristBot

TouristBot is a web-based travel assistant that helps tourists with weather forecasts, currency conversion, text translation, and country information — all in one place.

Features

  • 🌤 Weather — Get current weather for any city (OpenWeatherMap)
  • 💱 Currency Converter — Convert between currencies with live exchange rates (APILayer)
  • 🌐 Translator — Translate text between languages (Google Translate)
  • 🗺 Country Info — Search for country information with Wikipedia integration
  • 🧮 Calculator — Built-in calculator for quick math
  • 💬 Chat Dialog — Interactive dialog with built-in commands
  • 📱 PWA Support — Installable as a Progressive Web App

Tech Stack

  • Backend: Java 14, Jakarta Servlets, JSP
  • Build: Maven
  • APIs: OpenWeatherMap, APILayer Exchange Rates, Google Translate (RapidAPI), Wikipedia REST API
  • HTTP Client: OkHttp, java.net.http

Getting Started

Prerequisites

  • Java 14+
  • Maven
  • Application server (Tomcat 10+)

Configuration

Set your API keys in src/main/java/main/artfix/touristbotweb/API/APIS.java:

public static String WeatherAPIKEY = "YOUR_OPENWEATHERMAP_KEY";
public static String CurrencyAPIKEY = "YOUR_APILAYER_KEY";
public static String TranslateAPIKEY = "YOUR_RAPIDAPI_KEY";

Build & Deploy

mvn clean package

Deploy the generated target/TouristBotWeb-1.6.8.war to your application server.

Commands

Command Description
help Show available commands
weather Open weather search
currency Open currency converter
translate Open translator
map Open Google Maps
date Show current date
version Show app version
Country name Get country info from Wikipedia

Project Structure

TouristBot/
├── src/main/java/main/artfix/touristbotweb/
│   ├── App.java                 # Main servlet & chat logic
│   ├── Config.java              # Application configuration
│   ├── AdditionalFunctions.java # Wikipedia integration
│   ├── UserCalc.java            # Calculator servlet
│   ├── UserGetWeather.java      # Weather servlet
│   ├── UserGetCurrency.java     # Currency servlet
│   ├── UserGetTranslate.java    # Translate servlet
│   └── API/
│       ├── APIS.java            # API keys
│       ├── WeatherAPI.java      # OpenWeatherMap client
│       ├── CurrencyAPI.java     # Exchange rates client
│       └── TranslateAPI.java    # Google Translate client
├── src/main/webapp/
│   ├── index.jsp                # Main page
│   ├── getweather.jsp           # Weather page
│   ├── getcurrency.jsp          # Currency page
│   ├── gettranslate.jsp         # Translate page
│   ├── calc.jsp                 # Calculator page
│   ├── error.jsp                # Error page
│   ├── manifest.json            # PWA manifest
│   └── sw.js                    # Service worker
└── pom.xml

License

This project is provided as-is for personal use.

👨‍💻 Author

Arthur Stepanyan

Built with ☕ and lots of strategic thinking!

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages