Initial commit of Vellum, an event photo product for guest uploads, host moderation, and original-quality galleries.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# Vellum
|
||||
|
||||
Event photo collection for a wedding day — and for any gathering that needs
|
||||
the same guest-upload, host-moderate, public-gallery loop.
|
||||
|
||||
Guests open a shareable event link, optionally add a name, email, and note,
|
||||
and upload photos. Event people approve what appears in the gallery.
|
||||
Originals stay full quality in S3-compatible object storage.
|
||||
|
||||
## Repository
|
||||
|
||||
```text
|
||||
apps/
|
||||
web/ Public site, guest pages, dashboard, platform admin
|
||||
worker/ image variants, EXIF/GPS strip, HEIC conversion
|
||||
packages/
|
||||
contracts/ shared Zod payloads
|
||||
database/ Drizzle schema, migrations, seed
|
||||
storage/ S3/Garage client, object keys, presign
|
||||
email/ Mailpit (dev) / Resend (prod) for auth and guest mail
|
||||
```
|
||||
|
||||
## Quick start
|
||||
|
||||
Requirements: Bun 1.3+ and Docker.
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
bun install
|
||||
bun run docker:up
|
||||
bun run db:migrate
|
||||
bun run auth:seed
|
||||
bun run db:seed
|
||||
bun run dev
|
||||
```
|
||||
|
||||
The app runs at `http://localhost:3000`. Garage S3 is at
|
||||
`http://localhost:3900`. Mailpit is at `http://localhost:8027`.
|
||||
|
||||
- Public: `/` (listed events) and `/e/demo`
|
||||
- Dashboard: `/dashboard`
|
||||
- Platform: `/admin`
|
||||
|
||||
Example accounts (password `host`, admin password `admin`):
|
||||
|
||||
- `admin@example.com` — platform super-admin
|
||||
- `host@example.com` / `partner@example.com` — event owners
|
||||
- `manager@example.com` — event manager
|
||||
Reference in New Issue
Block a user