Vanilla HTML/JS/CSS PWA with Dexie offline-first sync, Hono+SQLite backend, served via nginx reverse-proxy. Two seed goals (no-sugar, no-social-media) for users ray and cer. Local dev runs at https://raycer.test via the shared Traefik proxy. Production deploys to https://raycer.altweb.me on cool2026/personal via docker-compose.coolify.yaml — see deploy/COOLIFY.md.
28 lines
774 B
Markdown
28 lines
774 B
Markdown
# raycer
|
|
|
|
A minimal habit-accountability PWA for two users (`ray` and `cer`).
|
|
|
|
- **Frontend:** vanilla HTML/JS/CSS, Dexie.js, service worker, installable PWA
|
|
- **Backend:** Node 20 + Hono + better-sqlite3
|
|
- **Reverse proxy:** Traefik on `raycer.test` (see `~/Code/Personal_TOOLS/traefik-local-proxy`)
|
|
- **Sync:** offline-first with outbox + last-write-wins server upsert
|
|
|
|
## Run
|
|
|
|
```bash
|
|
docker compose up -d --build
|
|
~/Code/Personal_TOOLS/traefik-local-proxy/add-domain.sh raycer
|
|
open https://raycer.test
|
|
```
|
|
|
|
## Layout
|
|
|
|
```
|
|
frontend/ nginx:alpine serving the static PWA, proxies /api to backend
|
|
backend/ Hono API + SQLite (volume: raycer-data)
|
|
```
|
|
|
|
## Goals (preseeded)
|
|
|
|
- **No sugar** — 2026-04-23 → 2026-05-21
|
|
- **No social media** — 2026-04-23 → 2026-05-21
|