Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISA – Intelligenter Studienassistent

Ein KI-gestützter Lernassistent, der eigene Kursmaterialien versteht und per Chat beantwortet. Dokumente werden lokal verarbeitet – kein Datenschutzproblem, keine Cloud-Abhängigkeit.

Demo


Features

  • Authentifizierung – Registrierung, Login und JWT-gesicherte Routen
  • Kursverwaltung – Kurse anlegen und Dokumente (PDF, etc.) hochladen
  • RAG-Chat – Fragen zu einem Kurs werden semantisch gegen die eigenen Uploads beantwortet
  • Lokales LLM – Ollama läuft komplett lokal, keine externen KI-Dienste nötig
  • Vektordatenbank – ChromaDB speichert und durchsucht die Embeddings
  • Persistenz – MongoDB sichert Benutzerprofile, Kurse und Upload-Metadaten

Tech-Stack

Schicht Technologie
Frontend React + Vite
Backend Node.js + Express
LLM Ollama (lokal)
Dokument-Parsing LlamaIndex (llama-cloud-services)
Vektordatenbank ChromaDB
Datenbank MongoDB
Deployment Docker Compose

Voraussetzungen

  • Docker & Docker Compose
  • .env-Datei im Projekt-Root (siehe unten)

Schnellstart

# 1. Repository klonen
git clone <repo-url>
cd isa

# 2. Umgebungsvariablen setzen
cp .env.example .env
# .env anpassen (siehe Abschnitt "Konfiguration")

# 3. Alle Dienste starten
docker compose up --build
Dienst URL
Frontend http://localhost:5173
Backend API http://localhost:3000
Ollama http://localhost:11434
ChromaDB http://localhost:8000
MongoDB localhost:27017

Konfiguration

Erstelle eine .env-Datei im Projekt-Root:

MONGODB_URI=mongodb://mongo:27017/isa
LLAMA_INDEX=<dein-llama-cloud-api-key>

Projektstruktur

isa/
├── backend/
│   ├── controllers/    # Geschäftslogik (auth, user, chat)
│   ├── routes/         # Express-Routen
│   ├── database/       # MongoDB-Schemas & ChromaDB-Logik
│   └── utils/          # JWT-Hilfsfunktionen
├── frontend/
│   └── src/
│       ├── pages/      # Login, Register, Kursübersicht, Chat
│       ├── components/ # Wiederverwendbare UI-Elemente
│       └── hooks/      # Custom React Hooks
├── assets/
│   └── demo.gif
└── docker-compose.yaml

API-Übersicht

Methode Endpunkt Beschreibung
POST /auth/register Benutzer registrieren
POST /auth/login Einloggen (gibt JWT zurück)
GET /users/profile Eigenes Profil abrufen
GET /users/courses Kursliste abrufen
POST /users/uploads Dokument hochladen
GET /users/course/:name/uploads Uploads eines Kurses
POST /chat/:courseName RAG-Chat für einen Kurs

Lizenz

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages