Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Session card widget from the generated Session model with fake data

Open Beginner friendly
#14 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
91/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
dart, flutter, supabase
Domain
frontend, mobile

Research direction

Start with the setup steps in docs/getting-started/first-contribution.md, then add the widget in lib/widgets/session_card.dart and the fake data helper in test/support/fake_sessions.dart. Use SessionCardData as specified in the issue and cover all four states, truncation, and localized times in test/session_card_test.dart. Run flutter test test/session_card_test.dart; done means the acceptance checks pass without importing lib/generated/.

Written by the indexing model from the issue text.

Description

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.

Dominant language
PLpgSQL
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from DevDogsUGA/DogPack

All issues in DevDogsUGA/DogPack

Similar issues

More Web Dev issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.