Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Session card widget from the generated Session model with fake data

Abierto Apto para principiantes
#14 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
91/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
dart, flutter, supabase
Área
frontend, mobile

Línea de trabajo

Empieza con los pasos de configuración de docs/getting-started/first-contribution.md y luego añade el widget en lib/widgets/session_card.dart y el helper de datos falsos en test/support/fake_sessions.dart. Usa SessionCardData tal como se especifica en el issue y cubre los cuatro estados, el truncamiento y las horas localizadas en test/session_card_test.dart. Ejecuta flutter test test/session_card_test.dart; se considera terminado cuando se superan los criterios de aceptación sin importar lib/generated/.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

discover

What to build

A SessionCard widget for the Discover list: course code, title, host name, time range, location, and seats (memberCount + 1 of capacity, because the host counts as a seat; see the comment in supabase/schemas/dogpack/tables/sessions.sql). States: open, full (shows "Full", no join affordance), cancelled (struck through, "Cancelled"), and past. The card takes a plain value class defined in its own file, SessionCardData (id, courseCode, title, hostName, startsAt, endsAt, location, memberCount, capacity, status), and does not import anything from lib/generated/. The generated models are git-ignored and CI's flutter job does not create them, so a widget that imports them would fail flutter analyze and flutter test in CI. The generated Sessions model carries only hostId, no host name and no course title join; a later Discover-feed issue maps query results (with the host name from the profile) into SessionCardData, so that mapping is out of scope here. Provide a fakeSessions() helper in test/support/ returning SessionCardData so the widget can be developed without a database.

Files

  • new lib/widgets/session_card.dart
  • new test/support/fake_sessions.dart
  • new test/session_card_test.dart

Acceptance

  • Renders all four states; seats read "2 of 4 seats" style, and the host is counted.
  • Long titles and locations truncate with an ellipsis; no overflow at 320 dp.
  • Times display in the device's locale and time zone.
  • Widget tests for each state; a golden is optional.

How to check

flutter test test/session_card_test.dart.

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.

Lenguaje dominante
PLpgSQL
Estrellas
0
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de DevDogsUGA/DogPack

Todos los issues de DevDogsUGA/DogPack

Issues similares

Más issues de Web Dev

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.