← All learning paths

Intermediate · 5 steps

Reliable multi-tenant tracking

Follow location data from an isolated ingestion boundary to an ordered live view and a scoped public link.

Before you start
HTTP APIs, SQL transactions, and basic WebSocket concepts. Use synthetic locations and identities.

What you will make
A tenant-isolation matrix, a retry-safe ingestion contract, and a reconnect scenario you can explain.

Open My Learning →

  1. 01 · Book chapter

    Establish the tenant boundary ↗

    Carry organization identity through access control and relational constraints.

    Put it to work

    Model two organizations with overlapping subject names. Trace tenant context and a cross-tenant child reference through one transaction.

    Keep as evidence: An access matrix and a foreign-key example that rejects the cross-tenant reference.

  2. 02 · Book chapter

    Make offline retries identifiable ↗

    Distinguish batch identity, point identity, and observation ordering.

    Put it to work

    Replay a batch after a lost response, then reuse its ID with a changed payload and restart a device sequence in a new epoch.

    Keep as evidence: A table of accepted replays, idempotency conflicts, and distinct observations.

  3. 03 · Book chapter

    Protect the latest-state projection ↗

    Preserve useful history while preventing late data from moving the live marker backwards.

    Put it to work

    Process a newer observation followed by an older offline upload. State a deterministic winning comparison and separate movement from connection status.

    Keep as evidence: A three-event timeline showing history and latest state independently.

  4. 04 · Book chapter

    Recover a disconnected live client ↗

    Build a live view from an authorized snapshot and recoverable durable deltas.

    Put it to work

    Disconnect between the snapshot and subscription. Describe the cursor, replay, deduplication, and fresh-snapshot fallback.

    Keep as evidence: A reconnect sequence that does not treat an open socket as the source of truth.

  5. 05 · Book chapter

    Minimize public tracking data ↗

    Bind a share capability to purpose, scope, expiry, and server-enforced precision.

    Put it to work

    Design a temporary delivery link with delayed approximate location. Attempt to request extra history and exact coordinates through query parameters.

    Keep as evidence: A capability record and response policy that cannot be broadened by the client.

Pause and check

Follow identity, ordering, and recovery

Choose an answer for every scenario, then check your reasoning. Progress is saved only in this browser.

1. A child row carries organization A but refers to a subject in organization B. What relational boundary can reject it?
Explanation and further reading

Tenant identity belongs in relationships as well as row filters. A composite reference can enforce that the child and parent share an organization.

Revisit the guide or chapter →
2. A reused database connection serves a different organization. What must the request design establish?
Explanation and further reading

Isolation depends on the active role and request context at every access path. A browser label does not constrain a database query.

Revisit the guide or chapter →
3. A device reuses a batch ID with a different payload hash. How should the ingestion contract treat it?
Explanation and further reading

Batch identity binds a request payload. Reusing it for different content must not be confused with replaying the same accepted request.

Revisit the guide or chapter →
4. A persisted point appears in a new batch after a partial response. Which identifier preserves its identity?
Explanation and further reading

Batch IDs identify request payloads. Stable point IDs identify individual observations even when delivery groups change.

Revisit the guide or chapter →
5. A device resets its sequence after reinstall. What distinguishes the new stream from the old counter values?
Explanation and further reading

A device and counter alone can repeat after a reset. An epoch makes the intended ordering domain explicit.

Revisit the guide or chapter →
6. An old offline observation arrives after a newer point. What should happen to the live projection?
Explanation and further reading

History and latest state serve different purposes. A deterministic conditional update prevents late delivery from moving the current view backwards.

Revisit the guide or chapter →
7. A client disconnects between its snapshot and subscription. What supports recovery?
Explanation and further reading

The connection is a transport, not the source of truth. Durable evidence and versioned recovery close snapshot/subscription gaps.

Revisit the guide or chapter →
8. A client requests another organization's live channel. Where must the scope be enforced?
Explanation and further reading

Client-provided channel names are input. Authorization must constrain the subscriptions and data the server actually delivers.

Revisit the guide or chapter →
9. A public link allows delayed approximate location. A query parameter requests exact coordinates. Which policy wins?
Explanation and further reading

A bearer capability cannot be broadened by client parameters. Response minimization and precision reduction belong at the server boundary.

Revisit the guide or chapter →
10. How does the book's public-link design store its bearer credential?
Explanation and further reading

The URL carries the random bearer token. The stored capability binds its hash to purpose, resources, expiry, revocation, and allowed response fields.

Revisit the guide or chapter →

Your checklist is saved only on this device. Keep your own evidence alongside each exercise. Follow new guides →