# Feature: Marketing site (platform)

## Purpose

Public marketing pages for ServDiary: home (landing), about, and contact — similar information architecture to typical home-service SaaS sites (e.g. ScheduleDrop), with ServDiary branding.

## Boundaries

- **Owns:** Public Inertia pages (`Welcome`, `Marketing/About`, `Marketing/Contact`), marketing-styled Fortify auth pages (`Auth/Login`, `Auth/Register`), `MarketingLayout`, marketing routes in `routes/web.php`, `ContactController` + `StoreContactRequest`
- **Does not own:** Authenticated app chrome (`AppLayout`), product domains, billing/pricing plans
- **Depends on (platform only):** Fortify register/login routes, Inertia flash sharing
- **Depends on (other domains):** none

## Models

None. Contact submissions are validated and written to the application log (`Log::info`) with a success flash. Email delivery can be wired later without schema changes.

## Routes

### Web

| Method | URI | Name | Controller |
|--------|-----|------|------------|
| GET | `/` | `home` | Closure → `Welcome` |
| GET | `/about` | `about` | Closure → `Marketing/About` |
| GET | `/contact` | `contact` | `Marketing\ContactController@create` |
| POST | `/contact` | `contact.store` | `Marketing\ContactController@store` |

### API

None.

## Permissions

Public (no auth). CTAs link to Fortify `login` / `register`.

## Design notes

- Shared layout: `resources/js/Layouts/MarketingLayout.vue` (props: `solidHeader`, `hideFooter` for auth)
- Brand tokens: Tailwind `diary.*` colors; display font Syne; marketing body Source Sans 3
- Landing hero is full-bleed photography with ServDiary as the primary brand signal
- Login/Register reuse the marketing header (Home / About / Contact) with explicit links back to the landing page and About us

## Tests

- Path: `laravel/tests/Feature/MarketingSiteTest.php`
- Cover: home/about/contact render; contact success + validation
- Auth screens: `AuthenticationTest` / `RegistrationTest` assert Inertia `Auth/Login` and `Auth/Register`

## Add / remove checklist

### Add

- [x] Marketing layout + pages
- [x] Routes named `home`, `about`, `contact`, `contact.store`
- [x] Flash `success` shared via `HandleInertiaRequests`
- [x] This wiki page linked from `docs/README.md`
- [x] Feature tests

### Remove

- [ ] Delete marketing pages/layout/controller/request
- [ ] Revert `routes/web.php` marketing routes (restore prior welcome props if needed)
- [ ] Remove flash share if unused elsewhere
- [ ] Remove this page and index link
- [ ] Delete `MarketingSiteTest`
