{"id":18396418,"url":"https://github.com/fearlesssolutions/pdh22-hackinghate","last_synced_at":"2025-10-26T12:48:17.630Z","repository":{"id":71494129,"uuid":"578482840","full_name":"FearlessSolutions/PDH22-HackingHate","owner":"FearlessSolutions","description":"Source code for sexist comment detection in slack messages","archived":false,"fork":false,"pushed_at":"2024-03-26T16:15:16.000Z","size":2504,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-02-16T02:28:45.661Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FearlessSolutions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-12-15T06:52:13.000Z","updated_at":"2022-12-16T19:58:36.000Z","dependencies_parsed_at":"2024-12-24T10:37:47.743Z","dependency_job_id":null,"html_url":"https://github.com/FearlessSolutions/PDH22-HackingHate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FearlessSolutions%2FPDH22-HackingHate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FearlessSolutions%2FPDH22-HackingHate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FearlessSolutions%2FPDH22-HackingHate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FearlessSolutions%2FPDH22-HackingHate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FearlessSolutions","download_url":"https://codeload.github.com/FearlessSolutions/PDH22-HackingHate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248581846,"owners_count":21128252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"keywords":[],"created_at":"2024-11-06T02:13:43.200Z","updated_at":"2025-10-26T12:48:12.566Z","avatar_url":"https://github.com/FearlessSolutions.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hacking Hate Speech\n\nThis repository contains source code for several google cloud functions as well as a workflow which orchestrates them. These\nall come together to form an AI powered sexist speech detector in slack.\n\n## Running a function locally\n\nYou can run cloud functions locally using the `runFunction` task for its respective gradle subproject. Example commands\nyou could run are:\n\n - `./gradlew SlackMessageExtractor:runFunction`\n\nThe function should output the port it's running on in the logs, and then you can send HTTP requests to the running server.\nThese requests are HTTP POST messages containing some JSON.\n\nFor example, you could send this message to the slack message extractor:\n\n```http request\nPOST localhost:8080\nContent-Type: application/json\n\n{\n  \"channel\": \"C12345678\"\n}\n```\n\n## Building and deploying a function\n\nThe cloud functions' source code can be built with the following command:\n\n```shell\n./gradlew buildFunction\n```\n\nThis will output staging folders for each function which can then be deployed to Google Cloud with \n`gcloud functions deploy FUNCTION-NAME --source ./STAGING-FOLDER --gen2 --trigger-http`. The staging folders\nhave the naming convention `deploy-MODULE_NAME`.\n\n## Deploying the cloud workflow\n\nThe cloud workflow described in [HackingHateWorkflow.yaml](./HackingHateWorkflow.yaml) can be deployed with the\ngoogle cloud CLI: `gcloud workflows deploy WORKFLOW-NAME --source ./HackingHateWorkflow.yaml`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffearlesssolutions%2Fpdh22-hackinghate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffearlesssolutions%2Fpdh22-hackinghate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffearlesssolutions%2Fpdh22-hackinghate/lists"}