[Onboarding + Enrollments] Canonical course-format validator only
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 91/100
Línea de trabajo
Lee la restricción de la base de datos en supabase/schemas/dogpack/tables/enrollments.sql y sigue la guía de configuración en docs/getting-started/first-contribution.md. Añade las funciones puras de Dart en lib/onboarding/course_code.dart y cubre los casos indicados y la validez de la salida en test/course_code_test.dart. Ejecuta flutter test test/course_code_test.dart; el trabajo estará terminado cuando pasen los casos de examples y los adicionales, y cada valor normalizado satisfaga la expresión regular de la base de datos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What to build
Check whether a course code already matches DogPack’s required format, such as CSCI 1301. This helper only accepts or rejects the input; the following task handles friendlier typed spellings.
Files
lib/onboarding/course_code.dart(new file)- Starting example: supabase/schemas/dogpack/tables/enrollments.sql
Code to add or extend:bool isValidCourseCode(String input).
Steps
- Add isValidCourseCode(input) using RegExp(r"^[A-Z]{4} [0-9]{4}[A-Z]?$").firstMatch(input).
- Accept only when
match.startis 0 andmatch.endequalsinput.length. This prevents a trailing newline from being accepted as a complete match. - Check CSCI 1301 and CSCI 1301L; reject lowercase, a trailing newline, the wrong number of letters/digits and extra text. This function checks the standard form without changing it.
Example
CSCI 1301/CSCI 1301L accepted; lowercase, trailing newline,3 letters,5 digits,extra text rejected.
Check it works
In test/onboarding/course_code_7_test.dart, check the example above and the failure or limit described in the steps. Run flutter test test/onboarding/course_code_7_test.dart and flutter analyze.
References
Assign yourself before starting, or comment to claim the issue. Project setup.
- Lenguaje dominante
- PLpgSQL
- Estrellas
- 0
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DevDogsUGA/DogPack
-
polish
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
DevDogsUGA/DogPack#131 ·
-
polish
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
DevDogsUGA/DogPack#130 ·
-
moderation
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
DevDogsUGA/DogPack#119 ·
-
moderation
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
DevDogsUGA/DogPack#113 ·
-
discover
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
DevDogsUGA/DogPack#106 ·
Todos los issues de DevDogsUGA/DogPack
Issues similares
-
[Bug]: Streamed /v1/chat/completions sends unredacted agent error text (keys) in the final chunkPosiblemente ocupada @rodricksz4h5 la tomó hoy. Abiertoarea/streaming comp/gateway P2 type/security
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NousResearch/hermes-agent#138245 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
Luligu/matterbridge#655 ·
-
enhancement
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
graygarbage/HermesKey#23 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
we-promise/sure#4199 ·
Los mantenedores suelen responder en 1 día