Files
2026-06-05 21:12:48 +03:00

55 lines
1.3 KiB
Markdown

# pozor
Dark-only shame board with a static Astro front end and a tiny Elysia admin/API.
## Apps
- `apps/site`: Astro public board. It reads published cards from the Elysia API.
- `apps/api`: Elysia admin/API. It owns cards, uploads, and the `/admin` panel.
## Local Development
```bash
bun install
bun run dev
```
Open:
- Site: `http://localhost:4321`
- Admin: `http://localhost:3001/admin`
- API docs: `http://localhost:3001/docs`
- OpenAPI JSON: `http://localhost:3001/openapi.json`
## Environment
The API stores cards and uploads in `apps/api/.data` locally.
On Vercel, set `BLOB_READ_WRITE_TOKEN` to store cards and uploaded images in Vercel Blob.
Set these values locally and on Vercel:
```bash
ADMIN_PASSWORD=
API_URL=http://localhost:3001
PUBLIC_API_URL=http://localhost:3001
PUBLIC_SITE_URL=http://localhost:4321
BLOB_READ_WRITE_TOKEN=
```
For deployment, point the Astro app at the deployed API origin by setting `API_URL` and `PUBLIC_API_URL` to that origin.
## Images
Cards support two image sources:
- `Image URL`: direct public image URL.
- `Upload image`: stored locally in development or in Vercel Blob when `BLOB_READ_WRITE_TOKEN` is set.
## Build
```bash
bun run build
```
The Astro app can be hosted on Vercel as a static/front-end project. The Elysia API can be hosted on Vercel as a separate backend project using the Bun runtime.