# Ethix Frontend

A SvelteKit web application for the Ethix greenwashing detection platform. Scan products, report misleading environmental claims, and chat with an AI assistant about sustainability.

## Technology Stack

| Component | Technology |
|-----------|------------|
| Framework | SvelteKit |
| UI Library | Svelte 5 |
| Language | TypeScript |
| Styling | TailwindCSS 4 |
| Build Tool | Vite |
| Desktop App | Tauri |
| Icons | Iconify |
| 3D Graphics | Three.js |
| Markdown | marked |

## Prerequisites

- Node.js 18+ or Bun
- Backend server running on `http://localhost:5000`

## Installation

Using Bun (recommended):

```bash
bun install
```

Or using npm:

```bash
npm install
```

## Development

Start the development server:

```bash
bun run dev
# or
npm run dev
```

The application will be available at `http://localhost:5173`.

## Building

### Web Build

```bash
bun run build
# or
npm run build
```

Preview the production build:

```bash
bun run preview
# or
npm run preview
```

### Desktop Build (Tauri)

```bash
bun run tauri build
# or
npm run tauri build
```

## Features

### Home Page

- Responsive design with separate mobile and web layouts
- Animated parallax landscape background
- Quick access to all main features

### AI Chat Assistant

- Powered by Google Gemini with RAG context
- Real-time conversation interface
- Sustainability and greenwashing expertise
- Message history within session

### Greenwashing Report Submission

- Two report types: Product Incident or Company Report
- Image upload for product evidence
- PDF upload for company sustainability reports
- Real-time analysis progress indicator
- Structured verdict display with confidence levels

### Catalogue Browser

- Browse company sustainability reports
- View user-submitted incidents
- Category filtering (Tech, Energy, Automotive, etc.)
- Semantic search functionality
- Pagination for large datasets
- Detailed modal views for reports and incidents

### Product Scanner

- Camera integration for scanning product labels
- Brand/logo detection via AI vision
- Direct report submission from scan results
