Small keyword-recognition based ChatBot with a Java & Spring Boot backend and VueJS/Quasar & TypeScript frontend. JavaDoc available at https://suk-it.github.io/ChatBot/ https://suk-it.at/#/chat
  • Java 50.9%
  • Vue 29.7%
  • JavaScript 11.4%
  • TypeScript 4%
  • Dockerfile 1.5%
  • Other 2.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2022-02-27 08:21:04 +01:00
.github/workflows Merge pull request #210 from SuK-IT/dependabot 2022-02-27 08:21:04 +01:00
.run chore: Change run configurations according to removal of launch4j 2021-09-03 15:49:18 +02:00
backend ci: simplify test and dev-build workflows. Closes issue #141 2021-12-28 20:51:29 +01:00
frontend Merge branch 'dependabot' into dependabot-npm_and_yarn-frontend-dependabot-typescript-eslint-parser-5.12.0 2022-02-27 07:36:27 +01:00
gradle/wrapper Initial commit 2021-09-02 13:34:35 +02:00
root/etc fix: Implement log4j vulnerability fix for Docker. Re-activate dependabot 2021-12-12 19:17:53 +01:00
.gitignore chore : add static folder in resources 2021-09-07 21:18:33 +02:00
build.gradle build(deps): Bump spring-boot-starter-validation from 2.6.2 to 2.6.3 2022-02-07 01:34:54 +00:00
Dockerfile build(deps): Bump griefed/baseimage-ubuntu-jdk-8 from 2.0.2 to 2.0.5 2022-02-21 01:20:48 +00:00
gradlew Initial commit 2021-09-02 13:34:35 +02:00
gradlew.bat Initial commit 2021-09-02 13:34:35 +02:00
LICENSE Create LICENSE 2021-09-03 12:50:05 +02:00
package-lock.json Index.vue changed to make the chat page later. mainlayout changes to adjust menu and logo. 2021-09-03 13:36:02 +02:00
README.md chore: Update README to include deployment instructions and docs on how to get started with Gradle, Spring Boot and Quasar 2021-09-06 21:31:59 +02:00
settings.gradle Initial commit 2021-09-02 13:34:35 +02:00

1. ChatBot

1.1 About

ChatBot is a keyword-recognition-based Bot. The backend is written in Java, using Spring Boot to deploy a webservice. The frontend is written in Quasar, a VueJS framework, using TypeScript instead of plain JS to ensure typesafety.

This is a small project for vocational school.

1.2 Building

To build the project and receive an executable exe/jar, execute ./gradlew about installQuasar cleanFrontend assembleFrontend copyDist build createExe --info from the main directory of this repository. After the execution finishes, you'll have your ChatBot.exe and ChatBot-x.x.x-SNAPSHOT.jar available in the build/libs-directory.

1.3 Deploying

1.3.1 JAR

Deploying ChatBot from the JAR-file can be done by downloading the latest release from the releases page and executing it in any directory with java -jar ChatBot-x.x.x.jar where x.x.x represents the version you downloaded. Afterwards, head to http://localhost:8080 in your favorite webbrowser and you're good to go!

1.3.2 Docker

1.3.2.1 Docker-Compose

Create a docker-compose.yml-file in your preferred location and add the following to it after editing it to your liking:

version: '3'
services:
  chatbot:
    image: ghcr.io/suk-it/chatbot:latest
    container_name: chatbot
    restart: unless-stopped
    environment:
      - TZ=Europe/Berlin # Your Timezone
      - PUID=1000 # Your user ID
      - PGID=1000 # your group ID
    volumes:
      - /path/to/dir/on/host:/config # Where you want to store config-data from the container on the host. Optional.

1.3.2.1 Docker run

Run the following command, after editing it to your liking:

docker create \
  --name=chatbot \
  -e TZ=Europe/Berlin `# Your Timezone` \
  -e PUID=1000 `# Your user ID` \
  -e PGID=1000 `# Your group ID` \
  -v /path/to/dir/on/host:/config `# Where you want to store config-data from the container on the host. Optional.` \
  --restart unless-stopped \
  ghcr.io/suk-it/chatbot:latest

2. What got us started

2.1 Gradle and Spring Boot

2.1.1 Reference Documentation

For further reference, please consider the following sections:

2.1.2 Guides

The following guides illustrate how to use some features concretely:

These additional references should also help you:

2.2 Quasar Framework

2.2.1 Installation and creation of your first project

First, make sure you have Node >= 8 and NPM >= 5.

# install Quasar CLI:
$ npm install -g @quasar/cli

# generate a project folder
$ quasar create <folder_name>

$ cd my-project
$ npm install

# start developing your app
$ quasar dev

# Check CLI commands available:
$ quasar

2.2.2 Make your changes!

2.2.2.1 Install the dependencies, if you changed any!

npm install

2.2.2.2 Start the app in development mode (hot-code reloading, error reporting, etc.)

quasar dev

2.2.2.3 Lint the files

npm run lint

2.2.2.4 Build the app for production

quasar build

2.2.2.5 Customize the configuration

See Configuring quasar.conf.js.