# MoreminiMore redesign

An Astro website for MoreminiMore with four service landing pages and a same-origin Express contact API delivered through Amazon SES.

## Local development

```sh
npm install
npm run dev
```

## Production build

```sh
npm run build
npm start
```

## Docker deployment

```sh
docker build -t moreminimore-site .
docker run --rm --env-file .env -p 4321:4321 moreminimore-site
```

The site is served at `http://localhost:4321`. Copy `.env.example` to `.env`. Production email delivery requires `SES_ACCESS_KEY_ID`, `SES_SECRET_ACCESS_KEY`, and `SES_REGION`; the sender and recipient both default to `kunthawat@moreminimore.com` and can be overridden with `SES_FROM_EMAIL` and `CONTACT_TO_EMAIL`.

`META_ACCESS_TOKEN` and `GA4_API_SECRET` are optional. When configured, a successful email submission also sends consent-scoped server conversions. `META_PIXEL_ID` defaults to `418349260078648` and `GA4_MEASUREMENT_ID` defaults to `G-74BHREDLC3`. Provider timeouts or failures never change the successful form response. In non-production mode, valid submissions are accepted without sending email or provider conversions so the flow can be tested safely.

`TRUST_PROXY` defaults to `0`, so forwarded client-IP headers are ignored. Behind a known reverse proxy, set it to the explicit hop count (`1`–`3`) that matches the deployment path; never set it to `true`. Contact requests are rate-limited per resolved client IP.
