Skip to content

Portfolio: record product and data boundaries in ADR 0002 #41

Closed

Description

@procoder-ji

Part of #40.

Why

ADR 0001 says changes to account requirements and runtime boundaries need a later decision. Portfolios add public pages written by students, so record the decisions before building.

Decide and record in docs/decisions/0002-student-portfolios.md

  • One portfolio per Google account. How a username is chosen, and whether it can change after publishing.
  • Fixed fields only: no free HTML, CSS or JavaScript. The editor form and the Markdown import fill the same fields.
  • Phase 1 public address: /u/<username>. Subdomains are Phase 2.
  • The backend is the trusted validator; the frontend validates for feedback. Shared rules live in one place (for example shared/portfolio/), like shared/practice/questions.json.
  • Personal data: no phone number or postal address; email is optional.
  • States: draft, published, suspended. Search-engine visibility is opt-in.
  • Age requirement for public portfolios. This needs the owner's decision; India's DPDP Act requires verifiable parental consent before processing a child's personal data.
  • Moderation: how a page is reported and how an operator suspends it.

Done when

  • The ADR is merged and linked from docs/architecture.md and docs/development.md.
  • Questions that need the owner's decision are listed in the ADR.

Activity

  1. added this to the Portfolio Phase 1 milestone on Nov 10, 2026
  2. Coding-Professional commented on Nov 10, 2026

    @Coding-Professional
    Collaborator

    Starting on this. I will open a pull request with a draft of docs/decisions/0002-student-portfolios.md covering the points listed above, and mark the decisions that need the owner's call (age requirement, username changes after publishing, and the domain choice for Phase 2) as open questions in the ADR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

documentationImprovements or additions to documentationportfolioStudent portfolio feature

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions