GitHubスター
0
ユーザー評価
未評価
フォーク
0
イシュー
0
閲覧数
1
お気に入り
0
Scottish Inner Hebrides Ferries Chatbot
A Spring Boot-based chatbot service that provides ferry information and booking assistance for the Scottish Inner Hebrides region.
Prerequisites
Required Software
- Java Development Kit (JDK) 24 or later
- Maven 3.9+ or Gradle 8.5+
- Spring Boot 3.2+
- Spring AI dependencies
- An IDE (IntelliJ IDEA recommended)
Environment Setup
Java Installation
- Download and install JDK 24 from Oracle or use OpenJDK
- Set JAVA_HOME environment variable
- Add Java to your system PATH
Build Tool
- Install Maven or Gradle
- Add to system PATH
- Verify installation:
mvn -version # or gradle -version
IDE Setup
- Install IntelliJ IDEA (Community or Ultimate Edition)
- Install the following plugins:
- Spring Boot
- Java
- Maven/Gradle
Spring AI Configuration
- Ensure you have the necessary Spring AI dependencies in your
pom.xml
orbuild.gradle
- Configure your AI provider credentials in
application.properties
orapplication.yml
- Ensure you have the necessary Spring AI dependencies in your
Storage Requirements
- Create a directory called bookings in the root of this folder
- Ensure write permissions for the
bookings
directory (for storing booking information)
API Keys
- ANTHROPIC_API_KEY - https://docs.anthropic.com/en/api/admin-api/apikeys/get-api-key
- BRAVE_API_KEY - https://brave.com/search/api/
Pass the api keys as environment variables into the application
Overview
This service implements a customer support chatbot specifically designed to assist users with:
- Ferry route information in the Scottish Inner Hebrides
- Weather updates for destinations
- Local activities and destination information
- Ferry booking assistance
Features
- Real-time chat support
- Destination information
- Weather updates
- Ferry booking system with validation for:
- Passenger capacity
- Vehicle restrictions
- Route availability
- Booking information collection
Technical Stack
- Java
- Spring Boot
- Spring AI ChatClient
- RESTful API
Booking Requirements
To make a booking, the following information is required:
- First name
- Last name
- Phone number
- Number of passengers
- Number of cars (if applicable)
- Travel date
- Origin port
- Destination port
Service Limitations
The chatbot is specifically designed to handle:
- Scottish Inner Hebrides ferry-related queries only
- Ferry transport information
- Destination information within the Scottish Inner Hebrides
- Current weather information for supported destinations
Queries outside these scope will receive a standardized response indicating the service limitations.
Error Handling
The service includes validation for common booking scenarios:
- Invalid routes
- Car restrictions on specific routes
- Passenger capacity limits
- Vehicle capacity limits
Getting Started
Clone the repository:
git clone [repository-url]
Navigate to the project directory:
cd scottish-inner-hebrides-ferries
Configure application properties:
- Create
application.properties
orapplication.yml
insrc/main/resources
- Add necessary configurations for Spring AI and other services
- Create
Build the project:
mvn clean install # or gradle build
Run the application:
mvn spring-boot:run # or gradle bootRun