- Java 50.9%
- Vue 29.7%
- JavaScript 11.4%
- TypeScript 4%
- Dockerfile 1.5%
- Other 2.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .github/workflows | ||
| .run | ||
| backend | ||
| frontend | ||
| gradle/wrapper | ||
| root/etc | ||
| .gitignore | ||
| build.gradle | ||
| Dockerfile | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| package-lock.json | ||
| README.md | ||
| settings.gradle | ||
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:
- Official Gradle documentation
- Spring Boot Gradle Plugin Reference Guide
- Create an OCI image
- Spring Boot DevTools
- Spring Web
- Validation
2.1.2 Guides
The following guides illustrate how to use some features concretely:
- Building a RESTful Web Service
- Serving Web Content with Spring MVC
- Building REST services with Spring
2.1.3 Additional Links
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