nextcloud / nextcloud/academy

Write Initial State content for php-i-07 / ex-i-07

Open
#23 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
2
Forks
1
Avg merge
1d 2h
Merged PRs (30d)
7

Description

Write the Initial State content for php-i-07 and ex-i-07 (REST API Design).

The manifest descriptions were updated on 2026-06-11 to include it; the content does not exist.

Why it sits here and not in beginner

IInitialState spans two layers at once — the PHP controller calls provideInitialState() and the JS reads it with loadState(). A beginner has to hold the whole server-to-frontend picture in their head before it makes sense. So the beginner track deliberately uses a plain axios GET on page load: one extra request, but visible in the network tab and reasonable with concepts they already have.

At intermediate the framing is "sometimes you do not need the roundtrip at all", which lands next to the REST API content and lets the reader actually weigh the tradeoff.

Do not "fix" the beginner modules to use Initial State. That is the decision, not an oversight.

Scope

The content for both tracks, mirroring each other.

Part of #16.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the manifest descriptions for php-i-07 and ex-i-07 and tracing the mentioned IInitialState flow from provideInitialState() to loadState(). Write matching Initial State content for both tracks, explain the server-to-frontend tradeoff, and preserve the decision to leave the beginner modules using an axios GET on page load.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.