Dieses Projekt ist ein Chatbot für Lernfeld 6, der eine interaktive Möglichkeit bietet, Inhalte zu diesem Themenbereich zu erarbeiten. Das System besteht aus einem modernen Tech-Stack mit einem Spring Boot-Backend und einem React-Frontend, um eine schnelle und zuverlässige Webschnittstelle bereitzustellen.
Das Projekt besteht aus zwei Hauptkomponenten:
- Backend (Spring Boot): Bereitstellung der REST API und Datenverwaltung.
- Frontend (React + TypeScript): Benutzeroberfläche zur Interaktion mit dem Chatbot.
Das Backend basiert auf Spring Boot und bietet eine robuste REST API zur Verarbeitung von Benutzeranfragen. Die wichtigsten verwendeten Technologien sind:
- Spring Boot – Hauptframework für das Backend.
- Spring Web – Erstellung der REST API.
- Spring Security & JWT – API-Sicherheit und Authentifizierung.
- Spring Data JPA – Datenpersistenz und ORM (Object-Relational Mapping).
- Spring Shell – Bereitstellung einer Kommandozeilen-Schnittstelle.
- H2 oder PostgreSQL – Datenbank für die Speicherung von Daten.
- Flyway – Verwaltung und Durchführung von Datenbankmigrationen.
Das Frontend ist mit React und TypeScript entwickelt und wird mit Vite optimiert und gebündelt. Zum Einsatz kommen unter anderem folgende Technologien:
- React – UI-Framework für die Erstellung der Benutzeroberfläche.
- React Router – Navigation innerhalb der Anwendung.
- React Query – Optimiertes Datenmanagement und API-Abfragen.
- Vite – Schnelles Build-Tool für das Bündeln der Anwendung.
- Klone das Repository
- Starte die Anwendung mit Maven:
mvn spring-boot:run
- Die API ist nun unter
http://localhost:8080/api/erreichbar.
- Wechsel in das Frontend-Verzeichnis:
cd web - Installiere die Abhängigkeiten:
npm install
- Starte die Entwicklungsumgebung:
npm start
- Die Anwendung läuft jetzt unter
http://localhost:5173. Damit das Frontend auf die API zugreifen kann, muss parallel das Backend unter Port 8080 laufen. Anfragen werden dann von vite per Proxy dahin weitergeleitet.