Files
Art-gallery/README.md
T
Danila KhodjaefandCursor 019ce4e136 Improve 3D gallery and debug checkup workflow for image curation.
Add parquet floor, museum-style exit, movement-tinted walls, and gold/black
frames with gallery sync after Fix it. Debug panel gets Checked and Fix it
buttons; documentation and image-fetch reliability updates included.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-20 22:05:24 +03:00

65 lines
2.4 KiB
Markdown

# Art Gallery
Interactive virtual art gallery: zoomable historical timeline with era click-to-zoom and major event markers, branching art-movement flow (curved streams, hover-to-reveal artist lifespans), one 3D hall per artist (parquet floor, movement-tinted walls, black/gold frames by review status, corridor layout for large catalogs, museum-style exit doors, golden influence lamps, canvas placeholders for missing works, influence-linked exits), painting detail with prev/next catalog browsing and fullscreen lightbox, debug-mode image audit (**Checked** / **Fix it**), Checkup page, preserved gallery camera on return, and Wikipedia-sourced artist biographies.
## Documentation
| Document | Purpose |
|----------|---------|
| [Documentation/basics.md](Documentation/basics.md) | Architecture, layout, user flow |
| [Documentation/setup.md](Documentation/setup.md) | Install, env, npm scripts |
| [Documentation/DB_structure.md](Documentation/DB_structure.md) | PostgreSQL tables |
| [Documentation/API.md](Documentation/API.md) | REST endpoints |
| [Documentation/data-and-images.md](Documentation/data-and-images.md) | Catalog, bios, seeding, image pipeline |
## Stack
- **Backend:** Node.js, Express, PostgreSQL
- **Frontend:** React, Vite, Three.js (`@react-three/fiber`, `@react-three/drei`)
## Setup
1. Copy `.env.example` to `.env` and set database credentials.
2. Install dependencies:
```bash
npm install
cd client && npm install && cd ..
```
3. Apply database schema (requires PostgreSQL superuser for first-time setup):
```bash
npm run migrate
npm run seed
```
4. Enrich the catalog (recommended after seed):
```bash
npm run fetch-artist-bios # Wikipedia biographies for all artists
npm run expand-catalog # add famous works for artists with thin catalogs
npm run update-influences # art-history lineage links between paintings
npm run migrate:checkup-flags # review/fixed flags for Checkup + debug mode
npm run fetch-images -- --limit=50 # random batch of missing images (10s per work)
npm run fetch-images -- --artist="Claude Monet" # one artist in catalog order
```
5. Build the client and start the server:
```bash
cd client && npm run build && cd ..
npm run server
```
Open http://localhost:3001
## Development
Run API and Vite dev server separately:
```bash
npm run dev:server # http://localhost:3001
npm run dev:client # http://localhost:5173 (proxies /api and /images)
```