Make consistent across codebase when a child has "done" a study
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 12
- Forks
- 21
- Avg merge
- 5d 19h
- Merged PRs (30d)
- 5
Description
Description
The rule we have shared with researchers is that a child is marked as having "done" a study when they click into it (with either the "Participate now!" button or the "Schedule a time to participate" button). However, it turns out that this is not consistent across the codebase! According to some quick investigating by Melissa, a child being "done" with a study is "slightly differently, in different parts of the codebase written by different people in different years". We should make the definition of "done" consistent across the codebase, and likely the rule we shared with researchers (described above).
How to reproduce
A good example is a child who has done "Introduction to Project GARDEN!" and "Journey to the GARDEN Library 1" on https://lookit.mit.edu/studies/garden/. These two "studies" are actually just watching a video (and do not contain any other common study features; for example, they do not contain consent). No matter how many times a family does these studies, they remain. This leads to two problems. Smaller problem: They remain visible even when the parent selects "Hide Studies We've Done". Larger problem: Families will still receive recruitment emails for these studies, which leads to confusion for the parents AND means we are wasting recruitment emails for these compared to other studies that are new.
Expected behavior
Consistent definition of "done" across the codebase. (For the specific example described above: very important families no longer receive recruitment emails for "Introduction to Project GARDEN!" and "Journey to the GARDEN Library 1" once they have "done" those studies)
Contributor 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.
Research direction
No files, tests, or entry points are named. Trace how the codebase determines that a child has done a study, including the study-list filtering and recruitment-email behavior described in the issue. Use the two Project GARDEN video studies as the regression examples, and confirm that completion is consistent across all affected paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100