{"id":21762190,"url":"https://github.com/waterloo/shorty","last_synced_at":"2026-04-10T00:39:18.075Z","repository":{"id":29216325,"uuid":"32747932","full_name":"Waterloo/shorty","owner":"Waterloo","description":"A sample URL shorter like bit.ly and goo.gl in Node.js  using Express and Redis","archived":false,"fork":false,"pushed_at":"2018-10-04T20:42:37.000Z","size":1005,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T08:42:41.216Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://waterloo.github.io/shorty","language":"HTML","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/Waterloo.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":"2015-03-23T17:32:31.000Z","updated_at":"2018-10-04T20:42:38.000Z","dependencies_parsed_at":"2022-09-03T17:41:28.285Z","dependency_job_id":null,"html_url":"https://github.com/Waterloo/shorty","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/Waterloo%2Fshorty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Waterloo%2Fshorty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Waterloo%2Fshorty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Waterloo%2Fshorty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Waterloo","download_url":"https://codeload.github.com/Waterloo/shorty/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244739944,"owners_count":20501990,"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-26T12:11:20.354Z","updated_at":"2025-12-30T20:54:10.231Z","avatar_url":"https://github.com/Waterloo.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"Shorty - URL shortner in node.js\n=========================================\n\nShorty is a simple short URL generator built using Node.js , Express.js and Redis\n\n![Shorty](https://farm9.staticflickr.com/8742/16730466119_6f0b290769.jpg)\n\nInstallation\n----------------------------\n\n**Pre-requistes**\nfor Running shorty you need:\n - [Node.js](https://github.com/joyent/node/wiki/installation \"Installing Node.js\")\n - [Redis](http://redis.io/topics/quickstart \"Installing Redis\")\n \n \u003e **Note:**\nYou can also use:\n - free node.js hosting plan from [Heroku](http://heroku.com/)\n - free redis 25mb plan from [Redis lab](http://redislabs.com\") , it can store about 75000 short urls\n\n**Step 1 : **\n\nOpen Terminal (Ctrl+Alt+T on most Linux distributions) and clone the **shorty** repository from here\n\n\u003e git clone https://github.com/Waterloo/shorty\n\n**Step 2 : **\n\nNavigate into the cloned directory\n\n\u003e cd shorty\n\n**Step 3 : **\n\nInstall the required modules from Node.js for **shorty**\n\n\u003e npm install\n\n**Step 4 : **\n\nIf you have installed a Redis server, you have to manually start the server.\n\n\u003e redis-server\n\nNote the port number from the commands that appear on the screen.\n\nIf you're using a hosted Redis service, the default port number would be 6379. This will be detailed on the service provider's end when you sign up for the service.\n\nOnce you get your ***redis-server*** running, you won't have a shell ($) prompt. To get the shell prompt back, you could use the **Ctrl+Z** combination to push the redis-server to the background and get your shell prompt back.\n\n**Step 5 : **\n\nOpen **app.js** in a text editor of your choice (or an IDE) and replace the **port** to the port running the Redis server and **endpoint** to the host running the Redis server.\n\n\u003e Note : if you have *redis-server* running locally on your machine, the endpoint should be the loopback address of your localhost : 127.0.0.1.\n\u003e If you have a hosted redis service, the provider will provide you with a hostname which you can use as the endpoint.\n\n\u003e var client = redis.createClient(port, 'endpoint');\n\nReplace the *password* with your Redis server password\n\u003e client.auth('password', function (err)\n\n**Step 6 : **\n\nWith all the setup ready to roll, you can now run shorty from the terminal\n\n\u003e node app.js\n\nThe terminal will show you the address from where you can access the ***shorty*** interface.\n\nHave fun shortening your favorite URLs with ***shorty***\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaterloo%2Fshorty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaterloo%2Fshorty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaterloo%2Fshorty/lists"}