← back to Stars of Design

README.md

57 lines

# Stars of Design

Editorial profile directory of notable interior designers — historic and
contemporary — paired with the Designer Wallcoverings collections that match
each designer's signature style.

- **Domain**: starsofdesign.com
- **Local port (Mac2 dev)**: `9928`
- **Kamatera pm2 name**: `starsofdesign`
- **Stack**: Express + EJS, JSON-backed (no PG dependency)
- **GA4**: `G-YCT0F2Q692`

## Run locally

```bash
npm ci
PORT=9928 node server.js
# → http://localhost:9928
```

## Add a designer

Edit `data/designers.json`. Each entry:

```json
{
  "slug": "first-last",
  "name": "First Last",
  "headline": "One-line tagline",
  "era": "Mid-Century | Late 20th Century | Contemporary",
  "era_sort": 1985,
  "city": "City, ST",
  "styles": ["Style A", "Style B"],
  "active_years": "1990–present",
  "bio": "One paragraph profile…",
  "signature": "One sentence visual language.",
  "preferred_dw": [
    { "label": "Collection name", "url": "https://designerwallcoverings.com/collections/handle" }
  ]
}
```

The JSON is hot-reloaded on every request via mtime check — no restart
needed when editing in place.

## Deploy

`ecosystem.config.js` is configured for Kamatera pm2:

```bash
rsync -av --exclude node_modules /Users/stevestudio2/Projects/starsofdesign/ root@45.61.58.125:/root/Projects/starsofdesign/
ssh root@45.61.58.125 "cd /root/Projects/starsofdesign && npm ci && pm2 start ecosystem.config.js && pm2 save"
```

Nginx vhost lives at `/etc/nginx/sites-enabled/starsofdesign.com`, currently
listening on `:80` only (TLS will be added when DNS flips).