{"id":34718483,"url":"https://github.com/opensourceame/shorty","last_synced_at":"2026-05-26T15:05:55.253Z","repository":{"id":12772620,"uuid":"72773741","full_name":"opensourceame/shorty","owner":"opensourceame","description":"A URL shortener API","archived":false,"fork":false,"pushed_at":"2023-03-16T05:25:56.000Z","size":21,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2023-03-22T10:43:15.662Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/opensourceame.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}},"created_at":"2016-11-03T18:15:25.000Z","updated_at":"2023-03-22T10:43:15.662Z","dependencies_parsed_at":"2023-01-11T18:24:30.038Z","dependency_job_id":null,"html_url":"https://github.com/opensourceame/shorty","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/opensourceame/shorty","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensourceame%2Fshorty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensourceame%2Fshorty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensourceame%2Fshorty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensourceame%2Fshorty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opensourceame","download_url":"https://codeload.github.com/opensourceame/shorty/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensourceame%2Fshorty/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28015437,"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-12-24T02:00:07.193Z","response_time":83,"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":[],"created_at":"2025-12-25T01:26:17.501Z","updated_at":"2025-12-25T01:26:20.320Z","avatar_url":"https://github.com/opensourceame.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Shorty - a URL shortening API\n\n## Installation\n\n#### Requirements\n\n* Ruby 2.x\n* Bundler\n* Redis server for storage\n\n#### To install\n\n```\n bundle install\n unicorn / rackup / (other rack server)\n```\n\n## Storage\n\nData is stored to Redis on database 1 in production and database 15 in development / test environments.\n\nThe Redis DB is flushed upon initialisation of the development environment.\n\n### Why Redis?\n \nI'm making the assumption here that these short codes are to be used for cases like a short URL for a map location for a festival.\nRedis is ideal for quick lookups on keys and incrementing counters.\n\nWith 5 elements per hash per code a Redis server will use approximately 100MB RAM for 1 million short codes,\nthus a cheap server (€20/month) could store tens of millions of short codes.\n \nKeys automatically expire after a year. (Changeable by editing ```Shorty::Code::EXPIRE_SECONDS```)\n \n## Tests\n\nSimply run ```rspec``` from the root directory of the project.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensourceame%2Fshorty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopensourceame%2Fshorty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensourceame%2Fshorty/lists"}