{"id":190698,"name":"Cover Crop Species Selector","description":"Used to help farmers select a cover crop that fits their goals and constraints.","url":"https://github.com/precision-sustainable-ag/dst-selector","last_synced_at":"2026-05-27T03:03:57.629Z","repository":{"id":56805654,"uuid":"517711265","full_name":"precision-sustainable-ag/dst-selector","owner":"precision-sustainable-ag","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-11T19:19:14.000Z","size":880118,"stargazers_count":5,"open_issues_count":8,"forks_count":1,"subscribers_count":5,"default_branch":"develop","last_synced_at":"2026-05-11T21:27:24.276Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://covercrop-selector.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/precision-sustainable-ag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-07-25T15:02:40.000Z","updated_at":"2026-05-06T12:54:46.000Z","dependencies_parsed_at":"2024-11-06T08:00:48.449Z","dependency_job_id":"173a28d2-3fff-437e-8cd0-01db9c2446d4","html_url":"https://github.com/precision-sustainable-ag/dst-selector","commit_stats":{"total_commits":1900,"total_committers":32,"mean_commits":59.375,"dds":0.7278947368421053,"last_synced_commit":"3bf9fbbf2cc0d989438af98916c944514f626868"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/precision-sustainable-ag/dst-selector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/precision-sustainable-ag%2Fdst-selector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/precision-sustainable-ag%2Fdst-selector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/precision-sustainable-ag%2Fdst-selector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/precision-sustainable-ag%2Fdst-selector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/precision-sustainable-ag","download_url":"https://codeload.github.com/precision-sustainable-ag/dst-selector/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/precision-sustainable-ag%2Fdst-selector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33457339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-24T19:21:36.376Z","status":"online","status_checked_at":"2026-05-25T02:00:05.812Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"precision-sustainable-ag","name":"Precision Sustainable Ag","uuid":"50888103","kind":"organization","description":"Coordinated agricultural research, on-farm monitoring, decision support tools and shared analytical environments","email":null,"website":"www.precisionsustainableag.org","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/50888103?v=4","repositories_count":83,"last_synced_at":"2024-04-24T06:25:45.211Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/precision-sustainable-ag","funding_links":[],"total_stars":115,"followers":38,"following":0,"created_at":"2022-11-14T08:20:51.040Z","updated_at":"2024-04-24T06:26:12.564Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/precision-sustainable-ag","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/precision-sustainable-ag/repositories"},"packages":[],"commits":{"id":1545790,"full_name":"precision-sustainable-ag/dst-selector","default_branch":"develop","total_commits":2289,"total_committers":26,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":88.03846153846153,"dds":0.7702053298383573,"past_year_total_commits":130,"past_year_total_committers":6,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":21.666666666666668,"past_year_dds":0.46153846153846156,"last_synced_at":"2026-05-25T02:14:18.878Z","last_synced_commit":"ffbf11319a22b420d96f71fe25c1bfbaec7f4b92","created_at":"2024-04-07T00:05:53.328Z","updated_at":"2026-05-25T02:12:59.833Z","committers":[{"name":"Rohit Bandooni","email":"rbandoo@ncsu.edu","login":"rbandooni","count":526},{"name":"YazidZidane","email":"xjt980408@gmail.com","login":"YazidZidane","count":444},{"name":"Mikah Pinegar","email":"55995241+mikahpinegar","login":"mikahpinegar","count":441},{"name":"Adam Smith","email":"adamws33@gmail.com","login":"Adamws33","count":360},{"name":"Ravi Ghevariya","email":"ravighevariya10@gmail.com","login":"ravighevariya10","count":87},{"name":"ameyachavan007","email":"chavanameya007@gmail.com","login":"ameyachavan007","count":78},{"name":"drewlearns","email":"drewlearns@hey.com","login":"drewlearns","count":51},{"name":"Rick Hitchcock","email":"rickhitchcock@outlook.com","login":"rickhitchcock","count":46},{"name":"Brennen Farrell","email":"btfarre2@ncsu.edu","login":null,"count":36},{"name":"Boscosylvester John Chittilapilly","email":"boscosylvesterjohn@gmail.com","login":"boscosylvester-john","count":33},{"name":"Diksha Maurya","email":"mauryadiksha0@gmail.com","login":"Diksha-Maurya","count":29},{"name":"ssharm1524","email":"ssharma18s5@gmail.com","login":"ssharm1524","count":28},{"name":"dearpriyankasa","email":"dearpriyankasa@gmail.com","login":"dearpriyankasa","count":28},{"name":"Akshat Savla","email":"akshat000822@gmail.com","login":"akshat22","count":24},{"name":"Nisarg Prajapati","email":"nisarg.prajapati21101@gmail.com","login":"nisarg210","count":23},{"name":"Jinam Shah","email":"jinams47@gmail.com","login":"jinamshah","count":12},{"name":"milad","email":"milad@nyu.edu","login":null,"count":8},{"name":"mil","email":"mil@mils-MacBook-Pro.local","login":null,"count":7},{"name":"Boscosylvester John Chittilapilly","email":"bchitti@ncsu.edu","login":"boscosylvester","count":6},{"name":"BrennenFa","email":"brennenfarrell12@gmail.com","login":"BrennenFa","count":5},{"name":"sudokita","email":"sudokita@gmail.com","login":"sudokita","count":4},{"name":"Juliet Norton","email":"jnnorton@purdue.edu","login":"julietnpn","count":4},{"name":"Neel Shah","email":"shahneel.super@gmail.com","login":"ineelshah","count":3},{"name":"Aaron Zeng","email":"aaronz2003@gmail.com","login":"azeng4499","count":2},{"name":"root","email":"root@covercrop.tools","login":null,"count":2},{"name":"Rohit Bandooni","email":"rbandoo@C02YT5WMLVCF.local","login":null,"count":2}],"past_year_committers":[{"name":"Jingtong Xu","email":"xjt980408@gmail.com","login":"YazidZidane","count":70},{"name":"Ravi Ghevariya","email":"ravighevariya10@gmail.com","login":"ravighevariya10","count":44},{"name":"Mikah Pinegar","email":"55995241+mikahpinegar","login":"mikahpinegar","count":5},{"name":"BrennenFa","email":"brennenfarrell12@gmail.com","login":"BrennenFa","count":5},{"name":"Adam Smith","email":"adamws33@gmail.com","login":"Adamws33","count":5},{"name":"btfarre2","email":"btfarre2@ncsu.edu","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/precision-sustainable-ag%2Fdst-selector/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-27T00:00:12.503Z","repositories_count":6242641,"commits_count":883113407,"contributors_count":34930998,"owners_count":1157951,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"precision-sustainable-ag/dst-selector","html_url":"https://github.com/precision-sustainable-ag/dst-selector","last_synced_at":"2026-05-14T13:58:39.385Z","status":"active","issues_count":213,"pull_requests_count":451,"avg_time_to_close_issue":3062955.932885906,"avg_time_to_close_pull_request":415115.40898345155,"issues_closed_count":149,"pull_requests_closed_count":423,"pull_request_authors_count":13,"issue_authors_count":11,"avg_comments_per_issue":0.3051643192488263,"avg_comments_per_pull_request":4.228381374722838,"merged_pull_requests_count":399,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":42,"past_year_pull_requests_count":94,"past_year_avg_time_to_close_issue":1356657.2413793104,"past_year_avg_time_to_close_pull_request":307008.0588235294,"past_year_issues_closed_count":29,"past_year_pull_requests_closed_count":85,"past_year_pull_request_authors_count":5,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":0.2619047619047619,"past_year_avg_comments_per_pull_request":1.4893617021276595,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":80,"created_at":"2024-04-07T00:06:23.799Z","updated_at":"2026-05-14T13:58:39.385Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/precision-sustainable-ag%2Fdst-selector","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/precision-sustainable-ag%2Fdst-selector/issues","issue_labels_count":{"bug":19,"WCCC Planning":4,"enhancement":2,"good first issue":1,"duplicate":1,"documentation":1,"On Hold":1,"FAQ":1},"pull_request_labels_count":{"bug":7,"enhancement":4,"styling - epic":2},"issue_author_associations_count":{"COLLABORATOR":98,"CONTRIBUTOR":75,"MEMBER":25,"NONE":15},"pull_request_author_associations_count":{"CONTRIBUTOR":271,"COLLABORATOR":120,"MEMBER":59,"OWNER":1},"issue_authors":{"Adamws33":103,"mikahpinegar":49,"julietnpn":21,"YazidZidane":13,"saseehav":9,"eseyler1213":5,"trevorjpuckett":5,"akshat22":3,"brianwdavis":2,"ravighevariya10":2,"shannon-gt":1},"pull_request_authors":{"YazidZidane":109,"mikahpinegar":91,"Adamws33":72,"ravighevariya10":59,"ameyachavan007":27,"BrennenFa":25,"Diksha-Maurya":22,"akshat22":21,"nisarg210":15,"jinamshah":4,"rickhitchcock":3,"boscosylvester-john":2,"lechinoix":1},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-25T00:00:55.688Z","repositories_count":14693537,"issues_count":33976022,"pull_requests_count":111262843,"authors_count":11273256,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":15},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"COLLABORATOR":34,"MEMBER":5,"CONTRIBUTOR":2},"past_year_pull_request_author_associations_count":{"CONTRIBUTOR":43,"MEMBER":26,"COLLABORATOR":16},"past_year_issue_authors":{"Adamws33":34,"julietnpn":3,"ravighevariya10":2,"YazidZidane":2},"past_year_pull_request_authors":{"YazidZidane":35,"ravighevariya10":26,"Adamws33":9,"mikahpinegar":8,"BrennenFa":7},"maintainers":[{"login":"Adamws33","count":118,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Adamws33"},{"login":"ravighevariya10","count":61,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ravighevariya10"},{"login":"BrennenFa","count":25,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/BrennenFa"},{"login":"akshat22","count":24,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/akshat22"},{"login":"Diksha-Maurya","count":22,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Diksha-Maurya"},{"login":"julietnpn","count":21,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/julietnpn"},{"login":"nisarg210","count":15,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/nisarg210"},{"login":"eseyler1213","count":5,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/eseyler1213"},{"login":"jinamshah","count":4,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jinamshah"},{"login":"rickhitchcock","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/rickhitchcock"},{"login":"brianwdavis","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/brianwdavis"},{"login":"boscosylvester-john","count":2,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/boscosylvester-john"},{"login":"lechinoix","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/lechinoix"}],"active_maintainers":[{"login":"Adamws33","count":43,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Adamws33"},{"login":"ravighevariya10","count":28,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ravighevariya10"},{"login":"BrennenFa","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/BrennenFa"},{"login":"julietnpn","count":3,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/julietnpn"}]},"events":{"total":{"DeleteEvent":101,"MemberEvent":4,"PullRequestEvent":220,"IssuesEvent":177,"WatchEvent":2,"IssueCommentEvent":417,"PushEvent":352,"PullRequestReviewCommentEvent":34,"PullRequestReviewEvent":148,"CreateEvent":95},"last_year":{"DeleteEvent":35,"MemberEvent":1,"PullRequestEvent":80,"IssuesEvent":53,"IssueCommentEvent":72,"PushEvent":86,"PullRequestReviewCommentEvent":1,"PullRequestReviewEvent":44,"CreateEvent":29}},"keywords":[],"dependencies":[{"ecosystem":"npm","filepath":"package.json","sha":null,"kind":"manifest","created_at":"2022-08-17T10:30:35.545Z","updated_at":"2022-08-17T10:30:35.545Z","repository_link":"https://github.com/precision-sustainable-ag/dst-selector/blob/develop/package.json","dependencies":[{"id":1854285587,"package_name":"@emotion/react","ecosystem":"npm","requirements":"^11.10.0","direct":true,"kind":"runtime","optional":false},{"id":1854285588,"package_name":"@emotion/styled","ecosystem":"npm","requirements":"^11.10.0","direct":true,"kind":"runtime","optional":false},{"id":1854285589,"package_name":"@mui/icons-material","ecosystem":"npm","requirements":"^5.8.4","direct":true,"kind":"runtime","optional":false},{"id":1854285590,"package_name":"@mui/lab","ecosystem":"npm","requirements":"^5.0.0-alpha.93","direct":true,"kind":"runtime","optional":false},{"id":1854285591,"package_name":"@mui/material","ecosystem":"npm","requirements":"^5.9.3","direct":true,"kind":"runtime","optional":false},{"id":1854285592,"package_name":"@mui/styles","ecosystem":"npm","requirements":"^5.9.3","direct":true,"kind":"runtime","optional":false},{"id":1854285593,"package_name":"autosuggest-highlight","ecosystem":"npm","requirements":"^3.1.1","direct":true,"kind":"runtime","optional":false},{"id":1854285594,"package_name":"axios","ecosystem":"npm","requirements":"^0.21.4","direct":true,"kind":"runtime","optional":false},{"id":1854285595,"package_name":"bootstrap","ecosystem":"npm","requirements":"^4.5.2","direct":true,"kind":"runtime","optional":false},{"id":1854285596,"package_name":"date-fns","ecosystem":"npm","requirements":"^2.29.1","direct":true,"kind":"runtime","optional":false},{"id":1854285597,"package_name":"jszip","ecosystem":"npm","requirements":"^3.5.0","direct":true,"kind":"runtime","optional":false},{"id":1854285598,"package_name":"jszip-utils","ecosystem":"npm","requirements":"^0.1.0","direct":true,"kind":"runtime","optional":false},{"id":1854285599,"package_name":"leaflet","ecosystem":"npm","requirements":"^1.7.1","direct":true,"kind":"runtime","optional":false},{"id":1854285600,"package_name":"leaflet-control-geocoder","ecosystem":"npm","requirements":"^2.4.0","direct":true,"kind":"runtime","optional":false},{"id":1854285601,"package_name":"leaflet-draw","ecosystem":"npm","requirements":"^1.0.4","direct":true,"kind":"runtime","optional":false},{"id":1854285602,"package_name":"lodash","ecosystem":"npm","requirements":"^4.17.20","direct":true,"kind":"runtime","optional":false},{"id":1854285603,"package_name":"mdbreact","ecosystem":"npm","requirements":"^4.24.0","direct":true,"kind":"runtime","optional":false},{"id":1854285604,"package_name":"moment","ecosystem":"npm","requirements":"^2.24.0","direct":true,"kind":"runtime","optional":false},{"id":1854285605,"package_name":"moment-timezone","ecosystem":"npm","requirements":"^0.5.28","direct":true,"kind":"runtime","optional":false},{"id":1854285606,"package_name":"notistack","ecosystem":"npm","requirements":"^2.0.5","direct":true,"kind":"runtime","optional":false},{"id":1854285607,"package_name":"prop-types","ecosystem":"npm","requirements":"^15.7.2","direct":true,"kind":"runtime","optional":false},{"id":1854285608,"package_name":"react","ecosystem":"npm","requirements":"^17.0.0","direct":true,"kind":"runtime","optional":false},{"id":1854285609,"package_name":"react-date-range","ecosystem":"npm","requirements":"^1.4.0","direct":true,"kind":"runtime","optional":false},{"id":1854285610,"package_name":"react-dom","ecosystem":"npm","requirements":"^17.0.0","direct":true,"kind":"runtime","optional":false},{"id":1854285611,"package_name":"react-ga","ecosystem":"npm","requirements":"^3.3.0","direct":true,"kind":"runtime","optional":false},{"id":1854285612,"package_name":"react-leaflet","ecosystem":"npm","requirements":"^3.2.1","direct":true,"kind":"runtime","optional":false},{"id":1854285613,"package_name":"react-leaflet-draft","ecosystem":"npm","requirements":"^1.1.0","direct":true,"kind":"runtime","optional":false},{"id":1854285614,"package_name":"react-movable","ecosystem":"npm","requirements":"^2.4.0","direct":true,"kind":"runtime","optional":false},{"id":1854285615,"package_name":"react-router-dom","ecosystem":"npm","requirements":"^5.1.2","direct":true,"kind":"runtime","optional":false},{"id":1854285616,"package_name":"react-scripts","ecosystem":"npm","requirements":"5.0.1","direct":true,"kind":"runtime","optional":false},{"id":1854285617,"package_name":"sass-mediaqueries","ecosystem":"npm","requirements":"^1.6.1","direct":true,"kind":"runtime","optional":false},{"id":1854285618,"package_name":"save-as","ecosystem":"npm","requirements":"^0.1.8","direct":true,"kind":"runtime","optional":false},{"id":1854285619,"package_name":"@babel/plugin-proposal-export-default-from","ecosystem":"npm","requirements":"^7.18.10","direct":true,"kind":"development","optional":false},{"id":1854285620,"package_name":"@types/react-leaflet","ecosystem":"npm","requirements":"^2.8.2","direct":true,"kind":"development","optional":false},{"id":1854285621,"package_name":"sass","ecosystem":"npm","requirements":"^1.54.0","direct":true,"kind":"development","optional":false},{"id":1854285622,"package_name":"sass-loader","ecosystem":"npm","requirements":"^13.0.2","direct":true,"kind":"development","optional":false},{"id":1854285623,"package_name":"webpack","ecosystem":"npm","requirements":"^5.74.0","direct":true,"kind":"development","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/azure-static-web-apps-polite-rock-0c9dd1f10.yml","sha":null,"kind":"manifest","created_at":"2023-10-02T17:11:56.227Z","updated_at":"2023-10-02T17:11:56.227Z","repository_link":"https://github.com/precision-sustainable-ag/dst-selector/blob/develop/.github/workflows/azure-static-web-apps-polite-rock-0c9dd1f10.yml","dependencies":[{"id":14058242347,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14058242348,"package_name":"Azure/static-web-apps-deploy","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"docker","filepath":"Dockerfile","sha":null,"kind":"manifest","created_at":"2023-10-02T17:11:56.235Z","updated_at":"2023-10-02T17:11:56.235Z","repository_link":"https://github.com/precision-sustainable-ag/dst-selector/blob/develop/Dockerfile","dependencies":[{"id":14058242349,"package_name":"node","ecosystem":"docker","requirements":"18","direct":true,"kind":"build","optional":false},{"id":14058242350,"package_name":"nginx","ecosystem":"docker","requirements":"1.23.1-alpine","direct":true,"kind":"build","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/publish_issues.yml","sha":null,"kind":"manifest","created_at":"2024-11-06T08:00:48.338Z","updated_at":"2024-11-06T08:00:48.338Z","repository_link":"https://github.com/precision-sustainable-ag/dst-selector/blob/develop/.github/workflows/publish_issues.yml","dependencies":[{"id":20587361560,"package_name":"actions/create-github-app-token","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false}]}],"score":5.823045895483019,"created_at":"2024-04-07T00:05:42.300Z","updated_at":"2026-05-27T03:03:57.630Z","avatar_url":"https://github.com/precision-sustainable-ag.png","language":"JavaScript","category":"Consumption","sub_category":"Agriculture and Nutrition","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"## Cover Crop Species Selector Decision Support Tool\n\nThe species selector DST is used to help farmers select a cover crop that fits their goals and constraints. The user can either input specifics about their field location and cover cropping goals or explore cover crops without entering those details. The tool is mainly used to explore expert reccomendations and ratings for cover crops in the farmer's USDA Plant Hardiness Zone. This allows farmers to make educated decisions that are best suited for their specific goals and can save time as opposed to calling the extension office.\n\nSupport for this project is brought to us by [Agricultural Informatics Lab](https://sudokita.com), NE SARE, USDA NRCS, NECCC, and the [Precision Sustainable Agriculture](http://precisionsustainableag.org).\n\nTo access the live tool, visit [https://covercrop-selector.org/](https://covercrop-selector.org/).  \nTo see development progress, visit [https://develop.covercrop-selector.org/](https://develop.covercrop-selector.org/)  \nFor in depth documentation see [the wiki pages](https://precision-sustainable-ag.atlassian.net/wiki/spaces/DST/pages/156500002/Species+Selector).\n\n**Date Created:** 08/18/22\n\n**Date Last Modified:** 08/07/2025\n\n## Table of Contents:\n\n- [Cover Crop Species Selector Decision Support Tool](#cover-crop-species-selector-decision-support-tool)\n- [Table of Contents:](#table-of-contents)\n- [Tech stack](#tech-stack)\n- [Local Installation Steps](#local-installation-steps)\n- [Running in docker:](#running-in-docker)\n- [Runbook](#runbook)\n- [Unit Testing](#unit-testing)\n- [Helpful Links](#helpful-links)\n\n## Tech stack\n\n- Single page application made in React.js\n- Ratings and zone info verified via Airtable and then ingested into a PostgreSQL database and served up using a Node.js API\n\n## Local Installation Steps\n\n**Prerequisites:**\n\n1. Node and NPM [Download Here](https://nodejs.org/en/download/)\n2. Git [Download Here](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)\n3. A code editor (we recommend VS Code) [Download Here](https://code.visualstudio.com/docs/setup/setup-overview)\n\n**Steps:**\n\n1. Open a new Terminal for Mac/Linux or Command Prompt for Windows\n2. Move to the desired folder `cd /path/to/folder`\n3. Clone this repository into that folder `git clone https://github.com/precision-sustainable-ag/dst-selector`\n4. From the Terminal/Command Prompt, move into the cloned directory `cd dst-selector`\n5. From the same command window, run `npm install` to install project dependencies. A full list of the dependencies can be found in package.json. If you are running on a windows machine delete package-lock.json prior to running the below command.\n6. Create a file called .env in `root` directory (dst-selector). The file will contain the below keys. This document is in the git ignore, so it (and your API keys) won't be pushed to the repository. Ask @mikahpinegar or Adam Smith for the values of the keys\n\n    ```\n    VITE_API_AUTH0_DOMAIN=\"\u003cauth0 domain\u003e\"\n    VITE_API_AUTH0_CLIENT_ID=\"\u003cauth0 client id\u003e\"\n    VITE_API_AUTH0_AUDIENCE=\"\u003cauth0 audience\u003e\"\n    VITE_API_USER_HISTORY_API_URL=\"\u003cuser history url\u003e\"\n    VITE_API_USER_HISTORY_SCHEMA=\"\u003cschema\u003e\"\n    VITE_API_RELEASE_NOTES=\"\u003cRelease Notes URL\u003e\"\n    VITE_API_MAPBOX_TOKEN=\"\u003cmabox token\u003e\"\n    VITE_AUTH0_USERNAME=\"\u003cauth0 username\u003e\"\n    VITE_AUTH0_PASSWORD=\"\u003cauth0 password\u003e\"\n    ```\n\n7. After the dependencies have been installed and the .env file has been created, run `npm start` to run the code locally. If you run into any issues take a look in the [Runbook](#runbook) for previous issues and solutions. This will compile the JSX code into Javascript and open up a new browser window with the current version of the covercrops project!\n\n## Running in docker:\n\nRun `./start_script.sh`\nRun `open http://localhost:3000`\n\n## Runbook\n\n**Symptom:**\nNode sass not supported on Mac OS `Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (88)`\n\n**Solution:**\n`npm rebuild node-sass`\n\n**Symptom:**\nAfter running `npm install` you might run into an `Error E404 - Not Found - GET https://registry.npmjs.org/@psa%2fdst.ui.map - Not found`\n\n**Solution:**\nFollow these steps:\n\n1. Install the `react-scripts` package using `npm install react-scripts --save`\n2. Run `npm start`\n\n**Line Spacing**\nSet Line spacing (CRLF -\u003e LF)\n`git config core.autocrlf false`\n`git rm --cached -r .`\n`git reset --hard`\n\n## Unit Testing\n\nTo run the Cypress client\n`npx cypress open --config-file=dev.config.js`\n\n## Helpful Links\n\n**Confluence Links**\n[Development Best Practices](https://precision-sustainable-ag.atlassian.net/wiki/spaces/ON/pages/381255706/Development+Best+Practices?atl_f=PAGETREE)\n[Design Best Practaces](https://precision-sustainable-ag.atlassian.net/wiki/spaces/DST/pages/582746142/Web+Content+Accessibility+Guidelines+Best+Practices)\n[ESLint](https://precision-sustainable-ag.atlassian.net/wiki/spaces/ON/pages/203915267/Linting+an+Application?atl_f=PAGETREE)\n[Release Notes](https://precision-sustainable-ag.atlassian.net/wiki/spaces/DST/pages/277413889/Species+Selector+Release+Notes)\n[User History](https://precision-sustainable-ag.atlassian.net/wiki/spaces/DST/pages/493584392/User+History+Introduction)\n\n**Recomended Development Tools**\n[VSCode](https://code.visualstudio.com/)\n[Cursor](https://www.cursor.com/)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/190698","html_url":"https://ost.ecosyste.ms/projects/190698"}