Onboarding step 3: course chips using the course-code normalizer
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 58/100
Direzione di ricerca
Read lib/onboarding/course_code.dart to understand the normalizer, then implement the widget in lib/screens/onboarding/courses_step.dart and cover the acceptance cases in test/onboarding_courses_step_test.dart. The issue is blocked by #7, so start after it merges; run flutter test test/onboarding_courses_step_test.dart and check that validation, duplicates, the 12-course limit, deletion, and the disabled Done state behave as specified.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What to build
The third step: a text field where the member types a course code and presses add; the input goes through normalizeCourseCode and becomes a deletable chip. Invalid input shows an error and adds nothing; duplicates are ignored. At most 12 chips (the database limit per term). Done is disabled with no chips. Self-contained widget taking initialCourses, onSubmit(List<String>) and onBack.
Files
- new
lib/screens/onboarding/courses_step.dart - new
test/onboarding_courses_step_test.dart
Acceptance
-
csci1301becomes the chipCSCI 1301;nopeshows an error and no chip. - A duplicate does not add a second chip; a 13th course is refused with a message.
- Deleting a chip works; Done is disabled with zero chips.
- Uses the normalizer from
lib/onboarding/course_code.dart; it does not reimplement it.
How to check
flutter test test/onboarding_courses_step_test.dart.
Related
- Normalizer:
lib/onboarding/course_code.dart, created by #7 (this issue is blocked until it merges). - Hosted in
lib/screens/onboarding_screen.dartby #12. - Per-term limit:
supabase/schemas/dogpack/tables/enrollments.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.
Blocked by
- #7
Do not start until these have merged; the Blocked-by relation on this issue lists them too.
- Lingua principale
- PLpgSQL
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di DevDogsUGA/DogPack
-
discover
Difficoltà 2/5 1-3 ore Idoneità per principianti 91/100
DevDogsUGA/DogPack#14 ·
-
onboarding
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
DevDogsUGA/DogPack#10 ·
-
good first issue onboarding
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
DevDogsUGA/DogPack#8 ·
-
good first issue onboarding
Difficoltà 2/5 1-3 ore Idoneità per principianti 91/100
DevDogsUGA/DogPack#7 ·
-
good first issue polish
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
DevDogsUGA/DogPack#4 ·
Tutte le issue di DevDogsUGA/DogPack
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
opensearch-project/OpenSearch-Dashboards#12937 ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
swiftlang/swift-org-website#1565 ·
I maintainer di solito rispondono entro 1 giorno
-
status: needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
a2ui-project/a2ui#3158 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
hemilabs/ui-monorepo#2475 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
ImadSaddik/ImadSaddikWebsite#336 ·
I maintainer di solito rispondono entro 1 giorno