Onboarding step 1: name and class year
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 88/100
Research direction
Read the setup guide at docs/getting-started/first-contribution.md, then implement the widget in lib/screens/onboarding/name_year_step.dart and its tests in test/onboarding_name_year_step_test.dart. Check whether #8 has merged before choosing validators. Run flutter test test/onboarding_name_year_step_test.dart; done means validation, focus movement, screen fit, and both onSubmit cases meet the acceptance criteria.
Written by the indexing model from the issue text.
Description
What to build
The first onboarding step: a form with a display name field and a class-year picker, a Next button that is disabled until both are valid, and inline error text. It is a self-contained widget that takes onSubmit(name, year); wiring to the database happens in the navigation issue. Use the validators from #8 if it has merged; if not, write the checks inline (non-empty name, a year chosen) and swap in the validators later.
Files
- new
lib/screens/onboarding/name_year_step.dart - new
test/onboarding_name_year_step_test.dart
Acceptance
- Next is disabled until the name is non-empty and a year is chosen.
- Errors show after the field is touched, not on first paint.
- The keyboard action on the name field moves focus to the year picker; the form fits on a 360x640 screen with the keyboard open.
- Widget tests: invalid blocks
onSubmit; valid calls it with the trimmed name and the chosen year.
How to check
flutter test test/onboarding_name_year_step_test.dart and attach a screenshot.
Related
- Hosted in
lib/screens/onboarding_screen.dartby #12; do not edit that file here. - Validators: #8 (
lib/onboarding/profile_validators.dart, not merged yet). - Database limits:
supabase/schemas/dogpack/tables/profiles.sql.
Before you start
Setup is in first contribution. Run flutter analyze and flutter test before you open the PR; both must pass. Keep the change to the files listed. Comment on this issue to claim it.
- Dominant language
- PLpgSQL
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DevDogsUGA/DogPack
-
discover
Difficulty 2/5 1-3 hours Newbie friendliness 91/100
DevDogsUGA/DogPack#14 ·
-
onboarding
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
DevDogsUGA/DogPack#10 ·
-
good first issue onboarding
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
DevDogsUGA/DogPack#8 ·
-
good first issue onboarding
Difficulty 2/5 1-3 hours Newbie friendliness 91/100
DevDogsUGA/DogPack#7 ·
-
good first issue polish
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
DevDogsUGA/DogPack#4 ·
All issues in DevDogsUGA/DogPack
Similar issues
-
affected/v17 affected/v18 area/frontend type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
umbraco/Umbraco-CMS#24186 ·
Maintainers usually reply within 2 days
-
area: ui difficulty: easy good first issue testing
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
pierrecomputer/pierre#1187 ·
Maintainers usually reply within 1 day
-
area: frontend bug
Difficulty 1/5 1-3 hours Newbie friendliness 85/100
snapotter-hq/SnapOtter#2425 ·
Maintainers usually reply within 1 day
-
bug confirmed issue
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
open-webui/open-webui#32333 · 2 comments ·
Maintainers usually reply within 1 day