46 lines
2.7 KiB
Markdown
46 lines
2.7 KiB
Markdown
# Marketing Site (website)
|
|
|
|
Owns the public-facing Angular 19 marketing site — landing pages, screenshots, feature highlights, and download links pointing to release artifacts. Independent from the product runtime: shares no code or wire schemas with toju-app, electron, or the signaling server.
|
|
|
|
> **Format reference:**
|
|
> - **Vocabulary** — bold term, one-sentence definition, aliases to avoid.
|
|
> - **Relationships** — bullets with bold terms and cardinality.
|
|
> - **Boundaries / IO** — what this subdomain exposes and consumes.
|
|
> - **Invariants** — rules that always hold.
|
|
> - **Flagged ambiguities** — terms in dispute with proposed resolutions.
|
|
>
|
|
> See `agents-docs/AGENTS_CONTEXT.md` for the contract. Update in the same turn a trigger fires (see `agents-docs/AGENT_WORKFLOW.md` § CONTEXT.md upkeep).
|
|
|
|
## Vocabulary
|
|
|
|
| Term | Definition | Aliases to avoid |
|
|
|------|------------|------------------|
|
|
| **Marketing site** | The Angular 19 app under `website/`, served separately from the product client. | "landing page" (it has multiple pages) |
|
|
| **Release manifest** | The release-metadata JSON the marketing site links to for download buttons; produced by `tools/generate-release-manifest.js` and published by Gitea Workflows. | "version manifest" |
|
|
| **IIS SSR bundle** | The built `website/dist/toju-website/` output containing Angular's `browser/`, `server/`, and root `web.config` for iisnode hosting. | "static-only website build" |
|
|
|
|
## Relationships
|
|
|
|
- The **Marketing site** links to release artifacts produced by the Gitea Workflows under `.gitea/workflows/release-draft.yml` and `publish-draft-release.yml`.
|
|
- `.gitea/workflows/deploy-web-apps.yml` deploys the **IIS SSR bundle** by mirroring the full `website/dist/toju-website/` folder to IIS.
|
|
- It does **not** consume the signaling server, the product client, or shared kernel types — independent codebase.
|
|
|
|
## Boundaries / IO
|
|
|
|
- **Exposes:** the public website SSR bundle, deployed by `.gitea/workflows/deploy-web-apps.yml`.
|
|
- **Consumes:** the release manifest URL and download links; static assets under `website/src/images/`.
|
|
|
|
## Invariants
|
|
|
|
- The marketing site has its own `package.json` and its own Angular version — do **not** hoist its dependencies into the root workspace.
|
|
- It must not depend on the product runtime or signaling server; SSR and the `/api/releases` proxy are website-local Node/IIS concerns.
|
|
- `npm run build` must leave `public/web.config` at `dist/toju-website/web.config` so IIS can route requests to `server/server.mjs`.
|
|
|
|
## Flagged ambiguities
|
|
|
|
- _None recorded yet._
|
|
|
|
---
|
|
|
|
*Agent-procedural rules (TDD, lint) live in `/AGENTS.md`. This file is the bounded-context domain artefact for the marketing site.*
|