Use these conventions for Resident Council technology. House Desk and Pub follow the separately documented Affective Technologies domain and routing model.

Repositories and services

Most council repositories use ihnyc-rc-<service>, including ihnyc-rc-landing and ihnyc-rc-vote. Historical names and independently governed products are not renamed merely to fit the pattern.

Use the exact repository name in source citations. Use the human product name in prose and diagrams.

Routes

Admin routes

  • Browser administration usually begins at /admin.
  • Protected APIs usually use /api/admin/* or a product-specific protected namespace.
  • A familiar path is not an authorization rule; document the actual edge and application checks.

Public APIs

  • Public machine endpoints use /api/*.
  • Health checks use /health or /api/health according to the existing service contract.
  • Compatibility redirects are documented separately from canonical routes.

Voting

  • Election pages use /e/:id.
  • Ballot routes extend the election path with /vote or /vote/poll.
  • The resident election directory uses /vote/my-elections.
  • Historical UI routes used /gallery and /gallery/:id.
  • Historical media delivery used /media/*.

Environment variables

  • Use uppercase snake case with a semantic prefix when ambiguity is possible.
  • Public identifiers may live in checked-in deployment configuration.
  • Secrets belong in the deployment provider’s secret store or a local ignored file.
  • Documentation may name a variable but must never include a real secret value.

Examples include RESEND_API_KEY, ADMIN_API_KEY, GITHUB_TOKEN, and ANALYTICS_STORE_URL.

Architecture diagrams

TypeUse it for
flowchart LRSystem and service flows
sequenceDiagramRequest and identity flows
erDiagramDatabase relationships

Use human-readable labels in diagrams. Keep repository names, bindings, and implementation identifiers in surrounding prose unless they are the subject of the diagram.