{"id":28672566,"url":"https://github.com/p7coreorg/dotnetcore.urlshortener","last_synced_at":"2026-02-12T15:04:27.269Z","repository":{"id":116257328,"uuid":"176752068","full_name":"P7CoreOrg/dotnetcore.urlshortener","owner":"P7CoreOrg","description":null,"archived":false,"fork":false,"pushed_at":"2019-03-22T12:52:28.000Z","size":701,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-23T01:24:27.775Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/P7CoreOrg.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":"2019-03-20T14:29:33.000Z","updated_at":"2019-03-21T21:29:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"403e85b3-3570-499d-bbe9-44efc9354381","html_url":"https://github.com/P7CoreOrg/dotnetcore.urlshortener","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/P7CoreOrg/dotnetcore.urlshortener","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/P7CoreOrg%2Fdotnetcore.urlshortener","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/P7CoreOrg%2Fdotnetcore.urlshortener/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/P7CoreOrg%2Fdotnetcore.urlshortener/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/P7CoreOrg%2Fdotnetcore.urlshortener/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/P7CoreOrg","download_url":"https://codeload.github.com/P7CoreOrg/dotnetcore.urlshortener/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/P7CoreOrg%2Fdotnetcore.urlshortener/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29369396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-06-13T19:09:54.082Z","updated_at":"2026-02-12T15:04:27.262Z","avatar_url":"https://github.com/P7CoreOrg.png","language":null,"readme":"# dotnetcore.urlshortener\n\nThis is a typical url shortener service that has abstracted out storage, configuration, and events that you need to do analytics.\n\nA Url Shortener Service is really more about those cool dashboards and reports that marketing folks need when they run campaigns.\n\nThose reports and dashboards are not this.\n\nThis is a chatty service that only implements the following activities;\n  * Turning long urls into short urls\n  * Storing the resultant record and giving you back a lookup id\n  * Fetching the store record\n  * Removing the stored record\n  * Reacting to expired records by requiring that you provide an url when that happens\n  * A pub-sub that tells you when important things happen for a rich reporting service to tap into\n  \n\nCurrently I have an InMemory Working version, but it is expected that a production variant will have stuff like;\n  * a fast backing database like redis\n  * a rich usage analytics service\n    This one is multiple factors bigger and more complicated than this thing\n    \n  \n# Replaceable Stores\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fp7coreorg%2Fdotnetcore.urlshortener","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fp7coreorg%2Fdotnetcore.urlshortener","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fp7coreorg%2Fdotnetcore.urlshortener/lists"}