01Scenario
Imagine a student club preparing a sign-up page for a fictional campus event. The club needs a simple front end that works with synthetic names only, and no real personal data should be collected.
Goal
Create a responsive registration flow with empty, invalid, and completed form states. Explain the choices that help a person understand what to do and what happened after each action.
02Scope and limits
- Build the front end only; do not create a backend or connect a real data service.
- Use fictional names and sample details instead of real personal information.
- Cover empty, invalid, and completed states plus a keyboard path on a narrow screen.
03Production steps
- 1
Define the fictional event, fields, messages, and a short success state.
- 2
Sketch the three form states and the keyboard path before coding.
- 3
Build the responsive front end with visible focus, labels, and useful validation messages.
- 4
Test the flow on a narrow viewport and document decisions, gaps, and next steps.
04Evidence to submit
- A Git repository or code file shows the front end.
- Screenshots show the empty, invalid, and completed form states.
- A note records keyboard and narrow-screen testing.
- A README explains decisions and limitations.
05Ask yourself
- Can a keyboard user tell where they are and what to fix?
- Which form message is clearest, and why?
- What would require a backend or real data before launch?
06Sources and licensing
Use code, icons, and other materials that you created or that have a suitable open license. Record the license name and source URL for every outside item. Note any team or AI contribution, and never assume a random internet image is openly licensed.
Read the ethical presentation guide