Files

52 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Evoke
SvelteKit 5 + **Bun** + **shadcn-svelte** + **PocketBase**.
## Setup
```bash
bun install
cp .env.example .env # optional: override PocketBase URL
bun run dev
```
- **Dev:** http://localhost:5173
- **PocketBase:** https://pocketbase.ccllc.pro (set `PUBLIC_POCKETBASE_URL` in `.env` to override)
## Stack
- **SvelteKit 5** app framework
- **Bun** package manager & runtime
- **shadcn-svelte** UI components (Tailwind, `$lib/components/ui`)
- **PocketBase** API at `https://pocketbase.ccllc.pro`
## Chat (Voxer-style)
- **Channels:** Sign in, then go to **Open channels** or `/channels`. Create a channel or open one.
- **Channel view:** Unified feed of voice, text, image, and video messages with realtime updates.
- **Voice (PTT):** Hold the “Hold to talk” button (or Space) to record; release to send. Uses `audio/webm;codecs=opus`.
- **Text:** Type in the composer and click Send.
- **Photo/Video:** Use the “Photo / Video” button to attach and send.
- **PocketBase setup:** Create the `channels` and `messages` collections in the PocketBase Admin. See **docs/POCKETBASE_SETUP.md** for fields and API rules.
## PocketBase
- **Server:** Use `event.locals.pb` in `hooks.server.ts`, load functions, and form actions. Auth is synced via cookies.
- **Client:** Use `createPocketBase()` from `$lib/pocketbase` for a client-side instance (e.g. in `onMount` or component logic).
- **Health check:** `GET /api/health` reports app and PocketBase reachability.
## Add more shadcn components
```bash
bunx shadcn-svelte@latest add card
bunx shadcn-svelte@latest add input
```
## Scripts
| Command | Description |
|---------------|--------------------|
| `bun run dev` | Start dev server |
| `bun run build` | Production build |
| `bun run preview` | Preview production build |