TouristBot is a web-based travel assistant that helps tourists with weather forecasts, currency conversion, text translation, and country information — all in one place.
- 🌤 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
- 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
- Java 14+
- Maven
- Application server (Tomcat 10+)
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";mvn clean packageDeploy the generated target/TouristBotWeb-1.6.8.war to your application server.
| 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 |
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
This project is provided as-is for personal use.
Arthur Stepanyan
- GitHub: ArthurStep
- Version: 2.0
Built with ☕ and lots of strategic thinking!