Jump to a problem, path or page
Jump to a problem, path or page
Updates as you edit. Run the review to record it; passing every check completes the problem.
Passed: Client responsibility
Present in your model. Explain its contract and failure behavior in your notes.
Passed: API service responsibility
Present in your model. Explain its contract and failure behavior in your notes.
Passed: Database responsibility
Present in your model. Explain its contract and failure behavior in your notes.
Passed: Cache responsibility
Present in your model. Explain its contract and failure behavior in your notes.
Passed: Queue responsibility
Present in your model. Explain its contract and failure behavior in your notes.
Not yet passed: Worker responsibility
Add Worker and define its responsibility.
Not yet passed: Client → API service
A directed path must connect Client to API service. Arrows represent requests, dependencies, or event flow.
Not yet passed: API service → Database
A directed path must connect API service to Database. Arrows represent requests, dependencies, or event flow.
Not yet passed: API service → Cache
A directed path must connect API service to Cache. Arrows represent requests, dependencies, or event flow.
Not yet passed: API service → Queue
A directed path must connect API service to Queue. Arrows represent requests, dependencies, or event flow.
Not yet passed: Queue → Worker
A directed path must connect Queue to Worker. Arrows represent requests, dependencies, or event flow.
Not yet passed: How do you allocate short codes?
Not yet passed: How should the cache behave?
Not yet passed: What happens if analytics is unavailable?
Not yet passed: API and data model notes
Write at least 80 characters describing concrete operations, inputs, outputs, state and errors. This check measures completeness, not semantic correctness.
Not yet passed: Trade-offs and failure cases
Write at least 80 characters about alternatives, failure handling and edge cases. Review the reasoning yourself using the reference discussion.
Rule-based educational feedback. Notes are checked by length only; topology checks confirm directed reachability. These checks do not validate semantics, latency, reliability or every valid design.
Separate link creation and redirect workloads. A unique code index protects concurrent creation; cache-aside handles popular redirects. Publish click events asynchronously. Discuss abuse prevention, cache failure, expiration, and the durability of acknowledged writes.
There is no single correct diagram. Explain where yours differs and which requirement justifies it.