Files
Khalid Abdi 130f90bf6a infra/docs: Docker Hub release pipeline, versioning, README overhaul
Reference prebuilt temetro/temetro-{backend,frontend} images in docker-compose
(with a build fallback) and stop baking the frontend API URL. Add a
tag-triggered GitHub Actions release workflow that pushes both images and cuts
a GitHub Release, plus RELEASING.md, CHANGELOG.md, and a root version. Overhaul
the root and frontend READMEs (screenshot, features, prebuilt-image quickstart,
LAN access, updating).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 21:34:44 +03:00

54 lines
2.0 KiB
Markdown

# temetro frontend
The clinician-facing **AI chat UI** for [temetro](../) — a Next.js 16 app where
clinicians retrieve and organize patient data in natural language, rendered as
rich record cards. It's wired to the [`../backend`](../backend) for real auth,
multi-tenant clinics, and live patient data.
![temetro AI chat](../.github/assets/screenshot-chat.png)
## Stack
Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS v4 ·
[COSS](https://coss.dev) UI components (Base UI) · i18next · Socket.io client.
> This app runs a **customized Next.js 16** whose conventions differ from the
> public docs (e.g. route protection lives in `proxy.ts`, not `middleware.ts`).
> See [`CLAUDE.md`](./CLAUDE.md) and `node_modules/next/dist/docs/` before
> writing Next.js code.
## Develop
```bash
npm install
npm run dev # Next dev server (Turbopack) on http://localhost:3000
```
Other scripts: `npm run build` (production build), `npm run start` (serve the
build), `npm run lint`. There is no test runner — verify changes by running the
dev server.
### Talking to the backend
The frontend needs the API running (see [`../backend`](../backend)). It resolves
the backend URL **from the host you open the app on** — so it works on
`localhost` and across the clinic LAN (`http://<server-IP>:3000`) without a
rebuild. Set `NEXT_PUBLIC_API_URL` only to pin a fixed or reverse-proxied URL;
see [`lib/backend-url.ts`](./lib/backend-url.ts).
## Architecture
- **`app/`** — App Router. `app/(app)/` is the authenticated product shell;
`app/(auth)/` holds the login / signup / onboarding pages.
- **`components/chat/`** — the chat UI (input, message state, patient cards).
- **`components/settings/`** — settings panels, including **About & updates**
(version + LAN access).
- **`components/ui/`** — COSS primitives (Base UI, added via the shadcn CLI).
- **`lib/`** — API + auth clients, i18n, and data helpers.
See [`CLAUDE.md`](./CLAUDE.md) for the full architecture, theming, and gotchas.
## License
[MIT](./LICENSE).