8e2f75aa77
Co-authored-by: Codex <codex@openai.com>
55 lines
1.3 KiB
Markdown
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.
|