← 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).