Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
156 commits
Select commit Hold shift + click to select a range
7418f1a
Add KCRHA PIT Count 2026 survey locations YAML file
ihsankahveci Jan 22, 2026
eba306e
feat: migrate deployments to rds-app-kc with deployment slots
ihsankahveci Jan 23, 2026
139a4b5
fix: 148
anantmittal Jan 23, 2026
bbaf6dc
Merge pull request #157 from uw-ssec/update-locations-list
anantmittal Jan 23, 2026
40ecffc
fix: update deployment configurations for Azure workflows
ihsankahveci Jan 23, 2026
a7154d5
fix: issue #143
anantmittal Jan 23, 2026
08fc317
Secret names can't have hyphen (-), so I updated them with underscore…
ihsankahveci Jan 23, 2026
882552d
fix: issue #152
anantmittal Jan 23, 2026
ab3c745
fix: issue #150
anantmittal Jan 23, 2026
bff7e80
fix: update visibility conditions for amenities and churn questions a…
ihsankahveci Jan 23, 2026
3d47e52
Merge pull request #163 from uw-ssec/survey-updates
ihsankahveci Jan 23, 2026
c3f7da9
Update .github/workflows/azure-webapp-deploy-temp.yml
ihsankahveci Jan 23, 2026
7663aee
Merge pull request #160 from uw-ssec/new-deployment
ihsankahveci Jan 23, 2026
3c3a8cf
Rename workflow file for RDS app deployment
ihsankahveci Jan 23, 2026
ebd00b4
Add new workflow for Azure Web App deployment
ihsankahveci Jan 23, 2026
6a47c14
Merge pull request #164 from uw-ssec/kc-pit-2026
ihsankahveci Jan 23, 2026
6dfa55e
Remove temporary Azure Web App deployment workflow
ihsankahveci Jan 23, 2026
5c4d115
Updating surveyJS version
ihsankahveci Jan 23, 2026
ff70137
Update client/package-lock.json
ihsankahveci Jan 23, 2026
f549150
Merge pull request #166 from uw-ssec/survey-updates
ihsankahveci Jan 23, 2026
29d7085
updated the date picker with date ranges including 12 year olds. also…
ihsankahveci Jan 23, 2026
d5bc4c8
Update date range in survey JSON for accuracy for shelter services qu…
ihsankahveci Jan 24, 2026
679f786
Add winter shelter questions and removed mandatory reporting items f…
ihsankahveci Jan 26, 2026
967ca3a
Merge pull request #168 from uw-ssec/survey-updates
ihsankahveci Jan 26, 2026
adbab24
Add end page section with instructions and comments for survey comple…
ihsankahveci Jan 26, 2026
701f6d1
Add end page section with instructions and comments for survey comple…
ihsankahveci Jan 26, 2026
ea7ff3f
Merge branch 'survey-updates' of github.com:uw-ssec/respondent-driven…
ihsankahveci Jan 26, 2026
9794cbc
Merge pull request #169 from uw-ssec/survey-updates
ihsankahveci Jan 26, 2026
4eaa337
Fix second gift card visibility to check all household members
ihsankahveci Jan 26, 2026
7fd3187
Merge pull request #170 from uw-ssec/survey-updates
ihsankahveci Jan 26, 2026
f94f652
Merge pull request #162 from uw-ssec/kc-launch-updates-anant
ihsankahveci Jan 26, 2026
2026b13
minor survey fix
ihsankahveci Jan 26, 2026
091f312
Add location filtering and fix table column order in survey dashboard
ihsankahveci Jan 26, 2026
f4a35d7
Update filterSurveysByLocation to handle undefined surveys
ihsankahveci Jan 26, 2026
85aa3c3
Merge pull request #171 from uw-ssec/survey-dashboard
ihsankahveci Jan 26, 2026
d13d8dd
Update button label and heading to reflect coupon code terminology
ihsankahveci Jan 26, 2026
db89ad0
Update heading in ApplyReferral component to clarify survey initiation
ihsankahveci Jan 26, 2026
c2e9cc5
Update client/src/pages/SurveyDetails/SurveyDetails.tsx
ihsankahveci Jan 26, 2026
a5f3272
Update client/src/pages/Survey/utils/survey.json
ihsankahveci Jan 26, 2026
8fcad3e
Refactor location filtering to ensure unique and valid location names…
ihsankahveci Jan 26, 2026
96f0814
Remove createdAt field from searchSurveys function parameters
ihsankahveci Jan 26, 2026
5ee74a2
Fix visibility conditions for adult-related options in survey.json
ihsankahveci Jan 26, 2026
09f36f1
Update client/src/pages/Survey/utils/survey.json
ihsankahveci Jan 26, 2026
de510d5
Update server/src/scripts/locations.yaml
ihsankahveci Jan 26, 2026
f1f2e79
Merge pull request #165 from uw-ssec/kc-pit-2026-test
ihsankahveci Jan 26, 2026
9ec476f
Add previous page button and styles to header component
ihsankahveci Jan 26, 2026
d7f7e5a
Update previous page button to navigate to apply-referral from survey…
ihsankahveci Jan 26, 2026
e6498b7
Merge pull request #173 from uw-ssec/add-previous-page-button
ihsankahveci Jan 26, 2026
7e49615
Merge pull request #176 from uw-ssec/kc-pit-2026-test
ihsankahveci Jan 26, 2026
7e00481
Sorting locations alphabetically by name for easier lookup.
ihsankahveci Jan 26, 2026
27bc803
Merge pull request #177 from uw-ssec/kc-pit-2026-test
ihsankahveci Jan 26, 2026
95fa895
feat: coupon code printing on iPad with Web Share API fallback
anantmittal Jan 27, 2026
ea274f0
refactor: enhance mobile QR code sharing with Web Share API detection
anantmittal Jan 27, 2026
55b05dc
Merge pull request #179 from uw-ssec/ipad-print
ihsankahveci Jan 28, 2026
07c46ab
Merge pull request #180 from uw-ssec/kc-pit-2026-test
ihsankahveci Jan 29, 2026
92835b0
Refactor survey initialization in edit mode and update SurveyDetails …
ihsankahveci Jan 26, 2026
3e1b8a9
Update client/src/pages/SurveyDetails/SurveyDetails.tsx
ihsankahveci Jan 26, 2026
9658e5d
Update client/src/pages/Survey/utils/surveyUtils.tsx
ihsankahveci Jan 29, 2026
4abcf12
updating survey details
ihsankahveci Jan 31, 2026
197a842
Update Gift Card Information section formatting to match other sections
ihsankahveci Feb 1, 2026
04165c0
fixed the bugs in the survey module regarding conditional visibility.
ihsankahveci Feb 1, 2026
bdaef2b
Update client/src/pages/Survey/utils/survey.json
ihsankahveci Feb 1, 2026
138ce72
stardizated condition syntax.
ihsankahveci Feb 1, 2026
49a1c45
Merge branch 'survey-updates' of github.com:uw-ssec/respondent-driven…
ihsankahveci Feb 1, 2026
733fa07
Refactor SurveyDetails component to improve error handling and code o…
ihsankahveci Feb 1, 2026
90afe8d
Merge pull request #181 from uw-ssec/survey-details-simple
ihsankahveci Feb 1, 2026
551f224
Merge pull request #183 from uw-ssec/survey-updates
ihsankahveci Feb 1, 2026
d9d8a8b
Improve navigation flow with role-based routing
ihsankahveci Feb 1, 2026
1311ab7
Add navigation rules for /add-new-user and /qrcode routes
ihsankahveci Feb 1, 2026
a0ee0fe
Merge pull request #182 from uw-ssec/improve-navigation-flow
ihsankahveci Feb 1, 2026
272b8b6
Update survey.json to enhance conditional visibility and add random c…
ihsankahveci Feb 2, 2026
b687b4a
Refactor travel location question to use radiogroup and expand city o…
ihsankahveci Feb 2, 2026
04c2d67
Update referral instructions for clarity and conciseness
ihsankahveci Feb 2, 2026
20225fa
Merge pull request #184 from uw-ssec/survey-updates
ihsankahveci Feb 2, 2026
9dedd2c
Add instruction note for travel questions at Mary's Place Phone Line
ihsankahveci Feb 2, 2026
8b75520
asd
ihsankahveci Feb 2, 2026
b2f18d5
Update visibility conditions for travel questions at Mary's Place Pho…
ihsankahveci Feb 2, 2026
feaf07e
Update age selection instruction for respondents under 18
ihsankahveci Feb 2, 2026
9ab9358
Merge pull request #185 from uw-ssec/kc-pit-2026-test
ihsankahveci Feb 2, 2026
ebc9043
fix: resolve Volunteer profile fetch failing due to CASL permission q…
atambay37 Feb 18, 2026
a6b1146
removing images
atambay37 Feb 18, 2026
4926520
chore: restore package-lock files to pre-fix state
atambay37 Feb 18, 2026
bd5ba9d
Add SMS functionality with Twilio integration and logging support
ihsankahveci Feb 19, 2026
dff7c2c
Update server/src/routes/users.ts
ihsankahveci Feb 19, 2026
4ef7356
Update server/src/routes/users.ts
ihsankahveci Feb 19, 2026
589048c
Merge pull request #186 from uw-ssec/anshul-volunteer-bug-patch
ihsankahveci Feb 19, 2026
2a05ad7
added sms features
ihsankahveci Feb 19, 2026
c691f73
Merge branch 'kc-pit-2026-test' of github.com:uw-ssec/respondent-driv…
ihsankahveci Feb 19, 2026
3c91495
fix: return 404 instead of 403 when user exists but caller lacks read…
ihsankahveci Feb 19, 2026
526e518
feat: capture numSegments at send time + enriched status CSV via chec…
ihsankahveci Feb 19, 2026
58ab4b4
feat: add fetch-logs command to recover send log from Twilio API
ihsankahveci Feb 19, 2026
2e4a8e0
refactor: make check-status always produce enriched CSV, drop old sna…
ihsankahveci Feb 19, 2026
7fd0387
fix: replace hand-rolled CSV parser with csv-parse to handle multi-li…
ihsankahveci Feb 19, 2026
95b7176
chore: polish comments and fix stale --update hint in fetch-logs output
ihsankahveci Feb 20, 2026
d0cda4b
feat: add send-csv command for CSV-based gift card redemption SMS
ihsankahveci Mar 3, 2026
b2267dd
fix: add peer dependency flag for survey-core in package-lock.json
ihsankahveci Mar 5, 2026
429f1fa
Merge branch 'kc-pit-2026-test' of github.com:uw-ssec/respondent-driv…
ihsankahveci Mar 5, 2026
b73d23a
docs: add SMS tooling guide with usage examples and design decisions
ihsankahveci Mar 5, 2026
6d08904
docs: clarify send-csv design rationale for gift card workflow
ihsankahveci Mar 5, 2026
1200dee
refactor: lazy-init Twilio client to avoid module-level side effects
ihsankahveci Mar 5, 2026
488a826
fix: replace process.exit() with throw/exitCode to ensure DB cleanup
ihsankahveci Mar 5, 2026
0ef4b9d
fix: use fileURLToPath for cross-platform path resolution
ihsankahveci Mar 5, 2026
11850c3
fix: filter CSV amounts numerically to catch "0.00" and empty values
ihsankahveci Mar 5, 2026
1efe4ad
docs: add CSV column format reference to sms-tooling guide
ihsankahveci Mar 5, 2026
2c4271c
fix: resolve Volunteer profile fetch failing due to CASL permission q…
atambay37 Feb 18, 2026
9988f42
removing images
atambay37 Feb 18, 2026
233c1a9
chore: restore package-lock files to pre-fix state
atambay37 Feb 18, 2026
7c4d7e4
Update age selection instruction for respondents under 18
ihsankahveci Feb 2, 2026
856dcaa
Update server/src/routes/users.ts
ihsankahveci Feb 19, 2026
fa75319
Update server/src/routes/users.ts
ihsankahveci Feb 19, 2026
8a0cf3b
fix: return 404 instead of 403 when user exists but caller lacks read…
ihsankahveci Feb 19, 2026
67e146e
fix: add peer dependency flag for survey-core in package-lock.json
ihsankahveci Mar 5, 2026
4fafe19
Update client/src/pages/Survey/utils/survey.json
ihsankahveci Mar 5, 2026
c77c117
Merge pull request #193 from uw-ssec/volunteer-bug-fixes
ihsankahveci Mar 5, 2026
ff20c86
Merge kc-pit-2026 into kc-pit-2026-test to sync shared history
ihsankahveci Mar 5, 2026
c6fd0a2
fix: update age instruction from 0-17 to 12-17 in survey.json
ihsankahveci Mar 5, 2026
440fa18
asd
ihsankahveci Mar 5, 2026
9afa2d9
Apply suggestion from @Copilot
atambay37 Mar 10, 2026
40899dd
Apply suggestion from @Copilot
atambay37 Mar 10, 2026
2b8f57a
fix: ensure Twilio pagination returns all messages & add detailed cod…
ihsankahveci Mar 11, 2026
0e39322
fix: exclude enriched logs from check-status to prevent re-processing
ihsankahveci Mar 11, 2026
a156999
Merge pull request #192 from uw-ssec/kc-pit-2026-test
atambay37 Mar 13, 2026
adb5486
Addressing #178
atambay37 Mar 13, 2026
b16156e
feat: migrate Azure infrastructure from Terraform to Pulumi (TypeScript)
ihsankahveci Mar 13, 2026
922b343
Update bug_report.yml
atambay37 Mar 14, 2026
01f3650
Add MkDocs documentation site and address issue #178
atambay37 Mar 17, 2026
82afecb
Replace contributors list with badge link
atambay37 Mar 17, 2026
45b6e2d
fix: use MongoDB vCore cluster instead of Cosmos DB API for MongoDB
ihsankahveci Mar 17, 2026
fcaf498
Deleting .agents planning
atambay37 Mar 17, 2026
fa530bb
Changes to Agent planning documents
atambay37 Mar 17, 2026
4389fad
DOI/Zenodo Changes
atambay37 Mar 17, 2026
8219089
Addressing Anant's PR comments.
atambay37 Mar 17, 2026
02cf2d4
fix: match actual Azure resources (MongoDB vCore, correct SKU, ignore…
ihsankahveci Mar 17, 2026
9bda64c
Fixing docs inconsistencies
atambay37 Mar 17, 2026
17fd8e5
Addressing @eeporter feedback on the README
atambay37 Mar 25, 2026
c3f1544
Addressing @anantmittal and @ihsankahveci comments on PR.
atambay37 Apr 2, 2026
f2290e3
plan for README docs based on @eeporter feedback
atambay37 Apr 2, 2026
707c861
fix: narrow ignoreChanges to avoid silently skipping managed fields
ihsankahveci Apr 2, 2026
89a7e9e
plan for README docs based on @eeporter feedback
atambay37 Apr 2, 2026
5d0a5d8
Merge branch 'anshul-oss-docs' of https://github.com/SSDALab/responde…
atambay37 Apr 2, 2026
ed47a92
Update database-io.md and the zenodo.json
atambay37 Apr 2, 2026
2af4bf1
Update infra/README.md
ihsankahveci Apr 2, 2026
a9a0159
Update infra/package.json
ihsankahveci Apr 2, 2026
49bbf36
feat: add getting started guide for RDS infrastructure setup with Pulumi
ihsankahveci Apr 2, 2026
a7fa293
Merge branch 'pulumi-infra' of github.com:uw-ssec/respondent-driven-s…
ihsankahveci Apr 2, 2026
762b0ad
Merge pull request #197 from SSDALab/pulumi-infra
ihsankahveci Apr 2, 2026
50c722d
Merge branch 'kc-pit-2026-test' into anshul-oss-docs
atambay37 Apr 2, 2026
3af42c4
Merge branch 'kc-pit-2026-test' into anshul-oss-docs
atambay37 Apr 2, 2026
39f3170
Merge branch 'anshul-oss-docs' of https://github.com/SSDALab/responde…
atambay37 Apr 2, 2026
9210347
Merge pull request #196 from SSDALab/anshul-oss-docs
atambay37 Apr 2, 2026
c61015a
Add infrastructure docs page and cross-references for Pulumi setup
atambay37 Apr 2, 2026
34feedb
Merge pull request #199 from SSDALab/anshul-infra-docs-reconciliation
ihsankahveci Apr 2, 2026
b58819d
chore: remove .agents planning files before public merge
atambay37 Apr 3, 2026
f5a479b
Merge pull request #200 from SSDALab/kc-pit-2026-test
atambay37 Apr 3, 2026
811e020
Update citation.cff and remove .claude folder.
atambay37 Apr 3, 2026
cbf51af
Removing redundant citation.md
atambay37 Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "🐞 Bug report"
name: " Bug report"
description: "File a reproducible problem with the software."
title: "[Bug]: <short summary>"
labels: ["bug", "triage"]
Expand Down Expand Up @@ -62,11 +62,13 @@ body:
- Windows
- macOS
- Linux
- iPad
- Surface Tablet
- Other (specify below)
- type: input
id: platform_other
attributes:
label: Other environment details
- type: markdown
attributes:
value: "Thank you for helping us improve! 🙏"
value: "Thank you for helping us improve! "
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: 💬 General question / discussion
url: https://github.com/uw-ssec/project-template/discussions
- name: General question / discussion
url: https://github.com/SSDALab/respondent-driven-sampling/discussions
about: Please ask questions in Discussions instead of opening an issue.
issue_templates:
- name: Bug report
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "📚 Documentation gap"
name: " Documentation gap"
description: "Report missing or confusing docs."
title: "[Docs]: <short summary>"
labels: ["documentation"]
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: " Feature request"
name: " Feature request"
description: "Suggest an idea or enhancement."
title: "[Feature]: <short summary>"
labels: ["enhancement", "triage"]
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/performance_issue.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "🐢 Performance issue"
name: " Performance issue"
description: "Report slowness, excessive memory, etc."
title: "[Perf]: <short summary>"
labels: ["performance", "triage"]
Expand Down
28 changes: 14 additions & 14 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,35 @@
PRs that follow this template are easier to review and merge.
-->

## 📄 Description
## Description

<!-- What does this PR change? Why is it needed? -->

## Checklist
## Checklist

- [ ] Tests added/updated where needed
- [ ] Docs added/updated if applicable
- [ ] I have linked the issue this PR closes (if any)

## 🔗 Related Issues
## Related Issues

Resolves #\<issue-number>

## 💡 Type of change
## Type of change

| Type | Checked? |
| ---------------- | -------- |
| 🐞 Bug fix | [ ] |
| New feature | [ ] |
| 📝 Documentation | [ ] |
| ♻️ Refactor | [ ] |
| 🛠️ Build/CI | [ ] |
| Other (explain) | [ ] |
| Type | Checked? |
| --------------- | -------- |
| Bug fix | [ ] |
| New feature | [ ] |
| Documentation | [ ] |
| Refactor | [ ] |
| Build/CI | [ ] |
| Other (explain) | [ ] |

## 🧪 How to test
## How to test

<!-- Steps reviewers can run to verify functionality -->

## 📝 Notes to reviewers
## Notes to reviewers

<!-- Anything specific reviewers should know before starting -->
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: RDS MAIN Build and Deploy Monolithic React + Node app to Azure
name: Deploying kc-pit-2026 branch to rds-app-kc prod slot

on:
push:
branches:
- main # or your deployment branch
- kc-pit-2026 # or your deployment branch

jobs:
build-and-deploy:
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
- name: Deploy to Azure Web App
uses: azure/webapps-deploy@v3
with:
app-name: rds-main # Replace with your Azure App Service name
app-name: rds-app-kc # Replace with your Azure App Service name
slot-name: "Production"
publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }}
publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE_rds_app_kc}}
package: ./server
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: RDS TEST Build and Deploy Monolithic React + Node app to Azure
name: Deploying kc-pit-2026-test branch to rds-app-kc test slot

on:
push:
branches:
- test # or your deployment branch
- kc-pit-2026-test # or your deployment branch

jobs:
build-and-deploy:
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
- name: Deploy to Azure Web App
uses: azure/webapps-deploy@v3
with:
app-name: rds-test # Replace with your Azure App Service name
slot-name: "Production"
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE_RDS_TEST_DEPLOY }}
app-name: rds-app-kc # Replace with your Azure App Service name
slot-name: "test"
publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE_rds_app_kc_test }}
package: ./server
23 changes: 23 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Deploy MkDocs to GitHub Pages

on:
push:
branches:
- main
workflow_dispatch:

permissions:
contents: write

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- run: pip install -r docs/requirements.txt
- run: mkdocs gh-deploy --force
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,8 @@ desktop.ini

# Generated seed PDFs
scripts/seeds/
scripts/coupons/
scripts/coupons/

# Pulumi
infra/node_modules/
infra/Pulumi.*.yaml
16 changes: 16 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"upload_type": "software",
"communities": [
{ "identifier": "uw-ssec" }
],
"grants": [
{ "id": "10.13039/100000001::2142964" }
],
"related_identifiers": [
{
"identifier": "https://ssdlab.github.io/respondent-driven-sampling/",
"relation": "isDocumentedBy",
"resource_type": "publication-softwaredocumentation"
}
]
}
64 changes: 64 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
cff-version: 1.2.0
title: "Respondent-Driven Sampling (RDS) Application"
message: "If you use this software, please cite it using the metadata from this file."
type: software
license: BSD-3-Clause
repository-code: "https://github.com/SSDALab/respondent-driven-sampling"
url: "https://ssdalab.github.io/respondent-driven-sampling/"
abstract: >
An open-source web application for conducting Respondent-Driven Sampling (RDS)
surveys of unsheltered populations. Built for the King County Regional Homelessness
Authority's Point-in-Time count; designed for reuse by other cities and localities.
authors:
- name: "University of Washington Scientific Software Engineering Center (SSEC)"
- given-names: Ihsan
family-names: Kahveci
- given-names: June
family-names: Yang
- given-names: Emily
family-names: Porter
- given-names: Zack
family-names: Almquist
- given-names: Elizabeth
family-names: Deng
- given-names: KelliAnn
family-names: Ramirez
- given-names: Jasmine
family-names: Vuong
- given-names: Hannah
family-names: Lam
- given-names: Ella
family-names: Weinberg
- given-names: Arushi
family-names: Agarwal
- given-names: Devanshi
family-names: Desai
- given-names: Aryan
family-names: Palave
- given-names: Kaden
family-names: Kapadia
- given-names: Hrudhai
family-names: Umashankar
- given-names: Liya
family-names: Finley Hutchison
- given-names: Hana
family-names: Amos
- given-names: Zack
family-names: Crouse
- given-names: Kristen L
family-names: Gustafson
- given-names: Anant
family-names: Mittal
- given-names: Natalie
family-names: Robbins
- given-names: Anshul
family-names: Tambay
keywords:
- respondent-driven sampling
- RDS
- homelessness
- point-in-time count
- survey
- open-source
version: "1.0.0"
date-released: "2026-02-20"
41 changes: 41 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Contributing to RDS App

Thank you for your interest in contributing. This document explains how to run the app, run tests, open issues, and submit pull requests.

## How to run the app

Follow the [Setup Instructions](README.md#setup-instructions) in the main README. You will need:

- Node.js (see repo or CI for version)
- MongoDB connection string and Twilio credentials in `server/.env`

## How to run tests

- **Server:** From the repo root, run `cd server && npm test`. For coverage: `cd server && npm run test:coverage`.
- **Client:** Run lint with `cd client && npm run lint`. The client does not currently define a test script in package.json.
- **Lint:** Run `npm run lint` in both `client/` and `server/` before pushing.

## Pre-commit

We use [pre-commit](https://pre-commit.com/) for consistent formatting and checks. Before pushing, run:

```bash
pre-commit run --all-files
```

CI also runs these hooks on push/PR to `main`.

## How to open issues

Use the [issue templates](.github/ISSUE_TEMPLATE/) when opening a new issue (bug report, feature request, documentation gap, or performance issue). Search existing issues first to avoid duplicates.

## How to submit pull requests

1. Open a new issue or comment on an existing one to discuss the change if it’s substantial.
2. Create a branch from `main` (or the target branch).
3. Make your changes and run tests and pre-commit locally.
4. Open a pull request using the [PR template](.github/pull_request_template.md). Link any related issue in the description.

## Code of Conduct

This project adheres to the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.
Loading
Loading