{"id":30687833,"url":"https://github.com/daxserver/wikibots-curator-backend","last_synced_at":"2025-09-02T00:07:30.979Z","repository":{"id":295299094,"uuid":"989726857","full_name":"DaxServer/wikibots-curator-backend","owner":"DaxServer","description":"Backend to run on Toolforge for CuratorBot for Wikimedia Commons","archived":false,"fork":false,"pushed_at":"2025-08-01T15:29:16.000Z","size":185,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-30T11:55:48.085Z","etag":null,"topics":["poetry","procfile","python3","toolforge","vibe-coding","wikimedia-commons"],"latest_commit_sha":null,"homepage":"https://curator.toolforge.org","language":"Python","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/DaxServer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2025-05-24T17:42:44.000Z","updated_at":"2025-08-01T15:29:19.000Z","dependencies_parsed_at":"2025-05-26T11:45:52.395Z","dependency_job_id":null,"html_url":"https://github.com/DaxServer/wikibots-curator-backend","commit_stats":null,"previous_names":["daxserver/wikibots-curator-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DaxServer/wikibots-curator-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaxServer%2Fwikibots-curator-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaxServer%2Fwikibots-curator-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaxServer%2Fwikibots-curator-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaxServer%2Fwikibots-curator-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DaxServer","download_url":"https://codeload.github.com/DaxServer/wikibots-curator-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaxServer%2Fwikibots-curator-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273208788,"owners_count":25064209,"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","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"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"}},"keywords":["poetry","procfile","python3","toolforge","vibe-coding","wikimedia-commons"],"created_at":"2025-09-02T00:07:26.936Z","updated_at":"2025-09-02T00:07:30.962Z","avatar_url":"https://github.com/DaxServer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![GitHub License](https://img.shields.io/github/license/DaxServer/wikibots-curator-backend?link=https%3A%2F%2Fopensource.org%2Flicense%2FMIT)\n\n# Curator Application\n\nA full-stack application for managing and monitoring CuratorBot jobs.\n\n## Overview\n\nThe Curator Application consists of:\n\n1. **Backend**: A FastAPI-based service that provides an interface to the Wikimedia Toolforge API\n2. **Frontend**: A Vue.js application with TypeScript and PrimeVue for displaying and managing Toolforge jobs\n\nThis application is designed to work within the Wikimedia ecosystem, particularly for tools that need to interact with the Toolforge infrastructure programmatically.\n\n## Deployment\n\n### Build\n\n```bash\ntoolforge build start -i web https://github.com/DaxServer/wikibots-curator-backend.git -L\n```\n\n`-L` flag uses the latest buildpacks and base image, required for Poetry.\n\n### Environment Variables\n\nUse `toolforge envvars` to set them up. The OAuth1 application is at [OAuth applications - Wikimedia Meta-Wiki](https://meta.wikimedia.org/wiki/Special:OAuthListConsumers/view/8e7c7bbe93a2623af57eb03f37448b3c).\n\n```bash\nX_USERNAME\nOAUTH_CLIENT_SECRET\nOAUTH_CLIENT_ID\nSECRET_KEY\n```\n\nWhen deploying for the first time, use:\n\n```bash\ntoolforge webservice buildservice start --buildservice-image tool-curator/web:latest --mount all\n```\n\nFor subsequent deployments, use:\n```bash\ntoolforge webservice restart\n```\n\n## Development\n\nThis project is the Backend application.\n\n### Prerequisites\n\n- Python 3.13 or higher\n- Poetry (for dependency management)\n\n### Installation\n\nInstall backend dependencies:\n\n```bash\npoetry install\n```\n\n### Running the Server\n\nStart the FastAPI server:\n\n```bash\nX_USERNAME=DaxServer OAUTH_CLIENT_ID=abc123 OAUTH_CLIENT_SECRET=abc123 poetry run web\n```\n\nThe backend server will be available at http://localhost:8000. The OAuth1 application is at [OAuth applications - Wikimedia Meta-Wiki](https://meta.wikimedia.org/wiki/Special:OAuthListConsumers/view/007829f26d944fb553e89e0c0fd02f31).\n\n### Testing build\n\nBuild the frontend for production:\n\n```bash\npack build -B tools-harbor.wmcloud.org/toolforge/heroku-builder:24_0.20.7 curator-web\n```\n\n### Running Tests\n\nTo run the tests, use the following command:\n\n```bash\npoetry run pytest\n```\n\nFor verbose output:\n\n```bash\npoetry run pytest -v\n```\n\n## License\n\n[MIT](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaxserver%2Fwikibots-curator-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaxserver%2Fwikibots-curator-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaxserver%2Fwikibots-curator-backend/lists"}