# recipes/server

The proof for @aweftjs/server and @aweftjs/auth: a full-stack notes app, over a real port.

The job: people keep notes. They sign up over HTTP, connect with the cookie, and their state document (theme, notes) is shared on the connection and kept in the store. A private module exports their notes with progress reports. An anonymous connection reaches only what is public. A bad cookie never opens a socket. Signing out makes the old cookie anonymous. Then the same server package runs a microservice with `gate: open`, and a ten-line allowlist gate with no session in it stands where auth stood.

Every boot here is the rail: sources, a store, a gate, a listener. Nothing builds a loader, nobody lists what to load, and the gate is named (designs 240, 241).

```sh
node recipes/server/main.ts
```

## Files

- [`main.ts`](/docs/recipes/server/files/main.ts)
