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
/healthor/api/healthaccording 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
/voteor/vote/poll. - The resident election directory uses
/vote/my-elections.
Gallery (decommissioned)
- Historical UI routes used
/galleryand/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
| Type | Use it for |
|---|---|
flowchart LR | System and service flows |
sequenceDiagram | Request and identity flows |
erDiagram | Database 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.