# CLQMS Frontend

Clinical Laboratory Quality Management System (CLQMS) - SvelteKit frontend application.

## Tech Stack

- **Framework**: SvelteKit 2.50.2 with Svelte 5 (runes)
- **Styling**: Tailwind CSS 4 + DaisyUI 5
- **Icons**: Lucide Svelte
- **Build Tool**: Vite 7.3.1
- **Package Manager**: pnpm

## Prerequisites

- Node.js 18+ 
- pnpm (`npm install -g pnpm`)
- Backend API running on `http://localhost:8000`

## Setup

```bash
# Install dependencies
pnpm install

# Create environment file
cp .env.example .env
```

## Development Commands

```bash
# Start development server
pnpm run dev

# Build for production
pnpm run build

# Preview production build
pnpm run preview

# Sync SvelteKit (runs automatically on install)
pnpm run prepare
```

## Project Structure

```
src/
  lib/
    api/          # API client and endpoints
    stores/       # Svelte stores (auth, valuesets)
    components/   # Reusable components
    utils/        # Utility functions
  routes/         # SvelteKit routes
    (app)/        # Authenticated routes
      dashboard/
      patients/
      master-data/
    login/        # Public routes
```

## API Configuration

API requests to `/api` are proxied to `http://localhost:8000` in development (configured in `vite.config.js`).

## Authentication

JWT-based authentication with automatic redirect to `/login` on 401 responses.

## Code Style

See [AGENTS.md](./AGENTS.md) for detailed coding guidelines.
