{"id":22144929,"url":"https://github.com/fabiante/persurl","last_synced_at":"2025-03-24T12:19:42.972Z","repository":{"id":190990925,"uuid":"683702800","full_name":"fabiante/persurl","owner":"fabiante","description":"Modern PURL service for maintaining persistent URLs","archived":false,"fork":false,"pushed_at":"2024-10-20T10:20:31.000Z","size":272,"stargazers_count":1,"open_issues_count":23,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T05:02:20.913Z","etag":null,"topics":["application","purl","url","web"],"latest_commit_sha":null,"homepage":"","language":"Go","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/fabiante.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}},"created_at":"2023-08-27T12:41:51.000Z","updated_at":"2025-03-01T12:18:00.000Z","dependencies_parsed_at":"2023-09-23T08:20:43.355Z","dependency_job_id":"e5c56e2f-2bb3-48e3-b74e-364347d275f2","html_url":"https://github.com/fabiante/persurl","commit_stats":null,"previous_names":["fabiante/persurl"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiante%2Fpersurl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiante%2Fpersurl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiante%2Fpersurl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiante%2Fpersurl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabiante","download_url":"https://codeload.github.com/fabiante/persurl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245267567,"owners_count":20587459,"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":["application","purl","url","web"],"created_at":"2024-12-01T22:35:31.866Z","updated_at":"2025-03-24T12:19:42.952Z","avatar_url":"https://github.com/fabiante.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PersURL\n\nApplication to manage and resolve [PURL](https://en.wikipedia.org/wiki/Persistent_uniform_resource_locator) links.\n\n## Usage\n\n### Configuration\n\nThe application can be configured using:\n\n- env variables, prefixed with `PERSURL_` (example: `PERSURL_DB_DSN`)\n- config files (example: `app.yml`)\n\nHave a look at `example.config.yml` for an example configuration.\n\n## Documentation\n\nUntil the documentation becomes large enough, this README will be used to\ndocumentation features and concepts.\n\n### Concept\n\nThe application handles PURL domains. A domain is a collection of PURLs which\nyou can think of as shortened URLs. When opened in a browser (a GET request),\nPURLs forward the user to the target URL which is configured by the PURLs\nmaintainer.\n\n### PURL Support\n\nThis project tries it's best to implement PURL support as it can be understood\nfrom a couple of hours researching the topic on the web. It is possible that\nsome implementations deviate from what PURL was ment to do.\n\nIf you find any critical deviations or design flaws which you think should be adressed,\nplease open an issue to resolve that.\n\n## Contributing\n\n### Testing\n\nThis project tries to implement tests in a behaviour-driven style. If you add / change features, ensure that\ntest specifications ensure correct behaviour. Test drivers execute test specifications.\n\n#### Load Tests\n\nLoad tests can enabled via the env variable `TEST_LOAD=1` or setting `test_load` to `1` in your config file.\n\nThese run the application and generate load by running multiple agents simulating user behaviour.\nThe motivation of these tests is to ensure that the application can be used for a large user base which\ncreate large amounts of data.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabiante%2Fpersurl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabiante%2Fpersurl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabiante%2Fpersurl/lists"}