Skip to content

eminiarts/rauchGpt

Repository files navigation

RauchGPT - Educational Chatbot Interface

This repo was created by Enes Emini and Lirjona Suka, as a simple chatbot interface for students to chat with a specific persona. This persona receives specific instructions on a topic in order to answer related questions by the students.

Chatbot Personalities

The application features different chatbot personalities, each designed for educational purposes:

  • Mia - A 19-year-old from Ulm who shares her experiences with vaping/e-cigarettes. She provides honest insights about her journey, helping students understand the realities of nicotine addiction. See her full instructions in app/Http/Controllers/ChatStreamController.php.

  • Dr. Martin - An experienced cardiovascular disease specialist who explains medical topics in an age-appropriate manner for 7th-grade students. She focuses on educating about arteriosclerosis, heart attacks, strokes, and prevention methods. See her full instructions in app/Http/Controllers/DrMartinStreamController.php.

Key Features

  • No database required - this app uses API keys for OpenAI integration
  • Real-time streaming chat responses
  • Educational focus with specialized personas
  • Built with Laravel, Livewire, and Tailwind CSS

Prerequisites

  • PHP >= 8.2
  • Composer
  • Node.js & NPM
  • OpenAI API Key

Installation

  1. Clone the repository:
git clone https://github.com/eminiarts/rauchGpt.git
cd rauchGpt
  1. Install PHP dependencies:
composer install
  1. Install Node dependencies:
npm install
  1. Create environment file:
cp .env.example .env
  1. Generate application key:
php artisan key:generate
  1. Configure your OpenAI API key in .env:
OPENAI_API_KEY=your-api-key-here

Usage

Development

Run the development server with all services:

composer dev

This command starts:

  • Laravel development server
  • Queue listener
  • Log viewer (Pail)
  • Vite development server

Alternatively, run services individually:

# Start Laravel server
php artisan serve

# In another terminal, start Vite
npm run dev

Production Build

Build assets for production:

npm run build

Project Structure

  • /app/Http/Controllers/ - Contains the chat controllers for different personas
  • /resources/views/ - Blade templates and Livewire components
  • /routes/ - Application routes
  • /public/ - Public assets

Configuration

The application uses environment variables for configuration. Key settings:

  • OPENAI_API_KEY - Your OpenAI API key (required)
  • APP_URL - Application URL
  • APP_ENV - Environment (local/production)

Testing

Run the test suite:

composer test

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages